QuickDID is a high-performance AT Protocol identity resolution service written in Rust. It provides handle-to-DID resolution with Redis-backed caching and queue processing.
···386386 let http_lookup_failed = "error-atproto-identity-resolve-5 HTTP resolution failed: reqwest::Error { kind: Request, url: \"https://example.com/.well-known/atproto-did\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"dns error\", Custom { kind: Uncategorized, error: \"failed to lookup address information\" })) }";
387387 assert!(HandleResolverTask::is_soft_failure(http_lookup_failed));
388388389389+ // Test HTTP invalid DID format (error-atproto-identity-resolve-6) - like reuters.com
390390+ let http_invalid_did = "error-atproto-identity-resolve-6 Invalid HTTP resolution response: expected DID format";
391391+ assert!(HandleResolverTask::is_soft_failure(http_invalid_did));
392392+393393+ // Test weratedogs.com case
394394+ let weratedogs_error = "error-atproto-identity-resolve-6 Invalid HTTP resolution response: expected DID format";
395395+ assert!(HandleResolverTask::is_soft_failure(weratedogs_error));
396396+389397 // Test DNS error that is NOT a soft failure (different DNS error)
390398 let dns_real_error = "error-atproto-identity-resolve-4 DNS resolution failed: timeout";
391399 assert!(!HandleResolverTask::is_soft_failure(dns_real_error));