@@ -5,7 +5,7 @@ use axum_extra::response::ErasedJson;
55use diesel:: QueryResult ;
66use diesel_async:: AsyncPgConnection ;
77use http:: request:: Parts ;
8- use oauth2:: reqwest:: http_client ;
8+ use oauth2:: reqwest:: async_http_client ;
99use oauth2:: { AuthorizationCode , CsrfToken , Scope , TokenResponse } ;
1010
1111use crate :: app:: AppState ;
@@ -14,7 +14,6 @@ use crate::middleware::log_request::RequestLogExt;
1414use crate :: middleware:: session:: SessionExtension ;
1515use crate :: models:: { NewUser , User } ;
1616use crate :: schema:: users;
17- use crate :: tasks:: spawn_blocking;
1817use crate :: util:: diesel:: is_read_only_error;
1918use crate :: util:: errors:: { bad_request, server_error, AppResult } ;
2019use 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