hyper-srv 0.6.0

A wrapper around Hyper's connector with ability to preresolve SRV DNS records.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use hickory_resolver::AsyncResolver;
use hyper::{client::HttpConnector, Body, Client, StatusCode, Uri};
use hyper_srv::ServiceConnector;

#[tokio::main]
pub async fn main() {
    let resolver = AsyncResolver::tokio_from_system_conf().unwrap();
    let client = Client::builder()
        .build::<_, Body>(ServiceConnector::new(HttpConnector::new(), Some(resolver)));
    let response = client
        .get(Uri::from_static("http://_http._tcp.mxtoolbox.com"))
        .await
        .unwrap();
    // Cloudfront returns 403 but at least we have resolved SRV uri correctly.
    assert_eq!(response.status(), StatusCode::FORBIDDEN);
}