Merge pull request #158 from Baptistemontan/use_cookie_deadlock

Fixed a deadlock with `use_cookie`
This commit is contained in:
Marc-Stefan Cassola 2024-08-23 18:01:10 +01:00 committed by GitHub
commit 05de93482f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -188,22 +188,19 @@ where
if !has_expired {
let ssr_cookies_header_getter = Arc::clone(&ssr_cookies_header_getter);
jar.update_value(|jar| {
if let Some(new_jar) = load_and_parse_cookie_jar(ssr_cookies_header_getter) {
*jar = new_jar;
set_cookie.set(
let new_cookie = jar.try_update_value(|jar| {
*jar = load_and_parse_cookie_jar(ssr_cookies_header_getter)?;
jar.get(cookie_name)
.and_then(|c| {
C::decode(c.value())
.map_err(|err| on_error(CodecError::Decode(err)))
.ok()
})
.or(default_value),
);
}
.or(default_value)
});
set_cookie.set(new_cookie.flatten());
handle_expiration(delay, set_cookie);
} else {
debug_warn!(