propagate errors from reqwest client constructions

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-08-27 08:10:04 +00:00
parent e4ba34a638
commit e4bcbb8088

View file

@ -21,54 +21,43 @@ impl crate::Service for Service {
let resolver = args.require::<resolver::Service>("resolver"); let resolver = args.require::<resolver::Service>("resolver");
Ok(Arc::new(Self { Ok(Arc::new(Self {
default: base(config) default: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.clone()) .dns_resolver(resolver.resolver.clone())
.build() .build()?,
.unwrap(),
url_preview: base(config) url_preview: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.clone()) .dns_resolver(resolver.resolver.clone())
.redirect(redirect::Policy::limited(3)) .redirect(redirect::Policy::limited(3))
.build() .build()?,
.unwrap(),
well_known: base(config) well_known: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.hooked.clone()) .dns_resolver(resolver.resolver.hooked.clone())
.connect_timeout(Duration::from_secs(config.well_known_conn_timeout)) .connect_timeout(Duration::from_secs(config.well_known_conn_timeout))
.read_timeout(Duration::from_secs(config.well_known_timeout)) .read_timeout(Duration::from_secs(config.well_known_timeout))
.timeout(Duration::from_secs(config.well_known_timeout)) .timeout(Duration::from_secs(config.well_known_timeout))
.pool_max_idle_per_host(0) .pool_max_idle_per_host(0)
.redirect(redirect::Policy::limited(4)) .redirect(redirect::Policy::limited(4))
.build() .build()?,
.unwrap(),
federation: base(config) federation: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.hooked.clone()) .dns_resolver(resolver.resolver.hooked.clone())
.read_timeout(Duration::from_secs(config.federation_timeout)) .read_timeout(Duration::from_secs(config.federation_timeout))
.timeout(Duration::from_secs(config.federation_timeout)) .timeout(Duration::from_secs(config.federation_timeout))
.pool_max_idle_per_host(config.federation_idle_per_host.into()) .pool_max_idle_per_host(config.federation_idle_per_host.into())
.pool_idle_timeout(Duration::from_secs(config.federation_idle_timeout)) .pool_idle_timeout(Duration::from_secs(config.federation_idle_timeout))
.redirect(redirect::Policy::limited(3)) .redirect(redirect::Policy::limited(3))
.build() .build()?,
.unwrap(),
sender: base(config) sender: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.hooked.clone()) .dns_resolver(resolver.resolver.hooked.clone())
.read_timeout(Duration::from_secs(config.sender_timeout)) .read_timeout(Duration::from_secs(config.sender_timeout))
.timeout(Duration::from_secs(config.sender_timeout)) .timeout(Duration::from_secs(config.sender_timeout))
.pool_max_idle_per_host(1) .pool_max_idle_per_host(1)
.pool_idle_timeout(Duration::from_secs(config.sender_idle_timeout)) .pool_idle_timeout(Duration::from_secs(config.sender_idle_timeout))
.redirect(redirect::Policy::limited(2)) .redirect(redirect::Policy::limited(2))
.build() .build()?,
.unwrap(),
appservice: base(config) appservice: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.clone()) .dns_resolver(resolver.resolver.clone())
.connect_timeout(Duration::from_secs(5)) .connect_timeout(Duration::from_secs(5))
.read_timeout(Duration::from_secs(config.appservice_timeout)) .read_timeout(Duration::from_secs(config.appservice_timeout))
@ -76,17 +65,14 @@ impl crate::Service for Service {
.pool_max_idle_per_host(1) .pool_max_idle_per_host(1)
.pool_idle_timeout(Duration::from_secs(config.appservice_idle_timeout)) .pool_idle_timeout(Duration::from_secs(config.appservice_idle_timeout))
.redirect(redirect::Policy::limited(2)) .redirect(redirect::Policy::limited(2))
.build() .build()?,
.unwrap(),
pusher: base(config) pusher: base(config)?
.unwrap()
.dns_resolver(resolver.resolver.clone()) .dns_resolver(resolver.resolver.clone())
.pool_max_idle_per_host(1) .pool_max_idle_per_host(1)
.pool_idle_timeout(Duration::from_secs(config.pusher_idle_timeout)) .pool_idle_timeout(Duration::from_secs(config.pusher_idle_timeout))
.redirect(redirect::Policy::limited(2)) .redirect(redirect::Policy::limited(2))
.build() .build()?,
.unwrap(),
})) }))
} }