From f1bdae65eeda4878f3b8bcdf951a7bf2d4dd1eec Mon Sep 17 00:00:00 2001 From: Rudi Horn Date: Tue, 3 Nov 2020 22:12:08 +0000 Subject: [PATCH] melib/jmap: add HTTP redirect policy to client Meli currently uses the .well-known/jmap URL and the RFC8620 requires that any redirects are followed (https://tools.ietf.org/html/rfc8620#section-2.2). This small change allows redirects to happen. --- melib/src/backends/jmap.rs | 1 + melib/src/backends/jmap/connection.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/melib/src/backends/jmap.rs b/melib/src/backends/jmap.rs index ab3e1dd1..e20a1982 100644 --- a/melib/src/backends/jmap.rs +++ b/melib/src/backends/jmap.rs @@ -24,6 +24,7 @@ use crate::conf::AccountSettings; use crate::email::*; use crate::error::{MeliError, Result}; use futures::lock::Mutex as FutureMutex; +use isahc::config::RedirectPolicy; use isahc::prelude::HttpClient; use isahc::ResponseExt; use serde_json::Value; diff --git a/melib/src/backends/jmap/connection.rs b/melib/src/backends/jmap/connection.rs index bd254851..5447b914 100644 --- a/melib/src/backends/jmap/connection.rs +++ b/melib/src/backends/jmap/connection.rs @@ -35,6 +35,7 @@ impl JmapConnection { pub fn new(server_conf: &JmapServerConf, store: Arc) -> Result { let client = HttpClient::builder() .timeout(std::time::Duration::from_secs(10)) + .redirect_policy(RedirectPolicy::Limit(10)) .authentication(isahc::auth::Authentication::basic()) .credentials(isahc::auth::Credentials::new( &server_conf.server_username,