mirror of
https://github.com/chatmail/core.git
synced 2026-05-19 14:56:33 +03:00
use anyhow-result for get_resolver (#2853)
* use anyhow-result for get_resolver * prefer '?' over map_err()
This commit is contained in:
@@ -5,9 +5,8 @@ mod data;
|
|||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
use crate::provider::data::{PROVIDER_DATA, PROVIDER_IDS, PROVIDER_UPDATED};
|
use crate::provider::data::{PROVIDER_DATA, PROVIDER_IDS, PROVIDER_UPDATED};
|
||||||
use async_std_resolver::{
|
use anyhow::Result;
|
||||||
config, resolver, resolver_from_system_conf, AsyncStdResolver, ResolveError,
|
use async_std_resolver::{config, resolver, resolver_from_system_conf, AsyncStdResolver};
|
||||||
};
|
|
||||||
use chrono::{NaiveDateTime, NaiveTime};
|
use chrono::{NaiveDateTime, NaiveTime};
|
||||||
|
|
||||||
#[derive(Debug, Display, Copy, Clone, PartialEq, FromPrimitive, ToPrimitive)]
|
#[derive(Debug, Display, Copy, Clone, PartialEq, FromPrimitive, ToPrimitive)]
|
||||||
@@ -89,15 +88,16 @@ pub struct Provider {
|
|||||||
/// We first try resolver_from_system_conf() which reads the system's resolver from `/etc/resolv.conf`.
|
/// We first try resolver_from_system_conf() which reads the system's resolver from `/etc/resolv.conf`.
|
||||||
/// This does not work at least on some Androids, therefore we use use ResolverConfig::default()
|
/// This does not work at least on some Androids, therefore we use use ResolverConfig::default()
|
||||||
/// which default eg. to google's 8.8.8.8 or 8.8.4.4 as a fallback.
|
/// which default eg. to google's 8.8.8.8 or 8.8.4.4 as a fallback.
|
||||||
async fn get_resolver() -> Result<AsyncStdResolver, ResolveError> {
|
async fn get_resolver() -> Result<AsyncStdResolver> {
|
||||||
if let Ok(resolver) = resolver_from_system_conf().await {
|
if let Ok(resolver) = resolver_from_system_conf().await {
|
||||||
return Ok(resolver);
|
return Ok(resolver);
|
||||||
}
|
}
|
||||||
resolver(
|
let resolver = resolver(
|
||||||
config::ResolverConfig::default(),
|
config::ResolverConfig::default(),
|
||||||
config::ResolverOpts::default(),
|
config::ResolverOpts::default(),
|
||||||
)
|
)
|
||||||
.await
|
.await?;
|
||||||
|
Ok(resolver)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns provider for the given domain.
|
/// Returns provider for the given domain.
|
||||||
@@ -195,7 +195,6 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::dc_tools::time;
|
use crate::dc_tools::time;
|
||||||
use crate::test_utils::TestContext;
|
use crate::test_utils::TestContext;
|
||||||
use anyhow::Result;
|
|
||||||
use chrono::NaiveDate;
|
use chrono::NaiveDate;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user