diff --git a/did-resolver/src/lib.rs b/did-resolver/src/lib.rs index 5edf2aff..e53390cc 100644 --- a/did-resolver/src/lib.rs +++ b/did-resolver/src/lib.rs @@ -1,6 +1,7 @@ use error::Error; use hickory_resolver::proto::serialize::binary::BinEncodable; use hickory_resolver::TokioAsyncResolver; +use reqwest::header::CONTENT_TYPE; use reqwest::{Client, StatusCode}; pub mod error; @@ -129,7 +130,16 @@ impl Resolver { .await? .error_for_status()?; + if let Some(ct) = res.headers().get(CONTENT_TYPE) { + if ct != "text/plain" { + return Ok(None); + } + } + let did = res.text().await?; + if !did.starts_with("did:") { + return Ok(None); + } Ok(Some(did)) }