From a3805b831121b79ec1a2e38f2adcd12b6ecf568b Mon Sep 17 00:00:00 2001 From: Mia Date: Tue, 15 Jul 2025 22:01:55 +0100 Subject: [PATCH] fix(did-resolver): ensure content-type is text/plain and is a did closes #33 --- did-resolver/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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)) } -- 2.51.2