@@ -112,7 +112,7 @@ pub(crate) async fn request<Input: Serialize, Output: DeserializeOwned + 'static
112112 let user_agent = qualified_version ( ) ;
113113
114114 // The 2 following unwraps should not be able to fail
115-
115+ let mut mut_url = url . clone ( ) . to_string ( ) ;
116116 let headers = Headers :: new ( ) . unwrap ( ) ;
117117 headers. append ( "Authorization: Bearer" , apikey) . unwrap ( ) ;
118118 headers. append ( "User-Agent" , & user_agent) . unwrap ( ) ;
@@ -121,7 +121,15 @@ pub(crate) async fn request<Input: Serialize, Output: DeserializeOwned + 'static
121121 request. headers ( & headers) ;
122122
123123 match & method {
124- Method :: Get => {
124+ Method :: Get ( query) => {
125+ let query = yaup:: to_string ( query) ?;
126+
127+ mut_url = if query. is_empty ( ) {
128+ mut_url. to_string ( )
129+ } else {
130+ format ! ( "{}?{}" , mut_url, query)
131+ } ;
132+
125133 request. method ( "GET" ) ;
126134 }
127135 Method :: Delete => {
@@ -145,13 +153,14 @@ pub(crate) async fn request<Input: Serialize, Output: DeserializeOwned + 'static
145153 }
146154
147155 let window = web_sys:: window ( ) . unwrap ( ) ; // TODO remove this unwrap
148- let response = match JsFuture :: from ( window. fetch_with_str_and_init ( url, & request) ) . await {
149- Ok ( response) => Response :: from ( response) ,
150- Err ( e) => {
151- error ! ( "Network error: {:?}" , e) ;
152- return Err ( Error :: UnreachableServer ) ;
153- }
154- } ;
156+ let response =
157+ match JsFuture :: from ( window. fetch_with_str_and_init ( mut_url. as_str ( ) , & request) ) . await {
158+ Ok ( response) => Response :: from ( response) ,
159+ Err ( e) => {
160+ error ! ( "Network error: {:?}" , e) ;
161+ return Err ( Error :: UnreachableServer ) ;
162+ }
163+ } ;
155164 let status = response. status ( ) as u16 ;
156165 let text = match response. text ( ) {
157166 Ok ( text) => match JsFuture :: from ( text) . await {
0 commit comments