Skip to content

Commit edcf8ab

Browse files
committed
controllers/user/session: Migrate to async oauth2 client
1 parent 738be58 commit edcf8ab

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

src/controllers/user/session.rs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use axum_extra::response::ErasedJson;
55
use diesel::QueryResult;
66
use diesel_async::AsyncPgConnection;
77
use http::request::Parts;
8-
use oauth2::reqwest::http_client;
8+
use oauth2::reqwest::async_http_client;
99
use oauth2::{AuthorizationCode, CsrfToken, Scope, TokenResponse};
1010

1111
use crate::app::AppState;
@@ -14,7 +14,6 @@ use crate::middleware::log_request::RequestLogExt;
1414
use crate::middleware::session::SessionExtension;
1515
use crate::models::{NewUser, User};
1616
use crate::schema::users;
17-
use crate::tasks::spawn_blocking;
1817
use crate::util::diesel::is_read_only_error;
1918
use crate::util::errors::{bad_request, server_error, AppResult};
2019
use crate::views::EncodableMe;
@@ -97,19 +96,15 @@ pub async fn authorize(
9796
}
9897

9998
// Fetch the access token from GitHub using the code we just got
100-
let app_clone = app.clone();
101-
let request_log = req.request_log().clone();
102-
let token = spawn_blocking(move || {
103-
app_clone
104-
.github_oauth
105-
.exchange_code(query.code)
106-
.request(http_client)
107-
.map_err(|err| {
108-
request_log.add("cause", err);
109-
server_error("Error obtaining token")
110-
})
111-
})
112-
.await?;
99+
let token = app
100+
.github_oauth
101+
.exchange_code(query.code)
102+
.request_async(async_http_client)
103+
.await
104+
.map_err(|err| {
105+
req.request_log().add("cause", err);
106+
server_error("Error obtaining token")
107+
})?;
113108

114109
let token = token.access_token();
115110

0 commit comments

Comments
 (0)