@@ -90,12 +90,10 @@ impl PubSubClient {
9090 max_messages : u32 ,
9191 timeout : Option < Duration > ,
9292 ) -> Result < Vec < ReceivedMessage > , Error > {
93- let url = format ! (
94- "{}/v1/projects/{}/subscriptions/{}:pull" ,
95- self . base_url, self . project_id, subscription_id
96- ) ;
9793 let request = PullRequest { max_messages } ;
98- let response = self . send_request ( & url, & request, timeout) . await ?;
94+ let response = self
95+ . send_request ( & self . url ( subscription_id, "pull" ) , & request, timeout)
96+ . await ?;
9997
10098 if !response. status ( ) . is_success ( ) {
10199 return Err ( unexpected_http_status_code ( response) . await ) ;
@@ -117,12 +115,10 @@ impl PubSubClient {
117115 ack_ids : Vec < & str > ,
118116 timeout : Option < Duration > ,
119117 ) -> Result < ( ) , Error > {
120- let url = format ! (
121- "{}/v1/projects/{}/subscriptions/{}:acknowledge" ,
122- self . base_url, self . project_id, subscription_id
123- ) ;
124118 let request = AcknowledgeRequest { ack_ids } ;
125- let response = self . send_request ( & url, & request, timeout) . await ?;
119+ let response = self
120+ . send_request ( & self . url ( subscription_id, "acknowledge" ) , & request, timeout)
121+ . await ?;
126122
127123 if !response. status ( ) . is_success ( ) {
128124 return Err ( unexpected_http_status_code ( response) . await ) ;
@@ -131,30 +127,10 @@ impl PubSubClient {
131127 Ok ( ( ) )
132128 }
133129
134- async fn send_request < R : Serialize > (
135- & self ,
136- url : & str ,
137- request : & R ,
138- timeout : Option < Duration > ,
139- ) -> Result < Response , Error > {
140- let token = self
141- . token_fetcher
142- . fetch_token ( )
143- . await
144- . map_err ( |source| Error :: TokenFetch { source } ) ?;
145-
146- let request = self
147- . reqwest_client
148- . post ( url)
149- . bearer_auth ( token. access_token ( ) )
150- . json ( request) ;
151- let request = timeout. into_iter ( ) . fold ( request, |r, t| r. timeout ( t) ) ;
152-
153- let response = request
154- . send ( )
155- . await
156- . map_err ( |source| Error :: HttpServiceCommunication { source } ) ?;
157- Ok ( response)
130+ fn url ( & self , subscription_id : & str , action : & str ) -> String {
131+ let base_url = & self . base_url ;
132+ let project_id = & self . project_id ;
133+ format ! ( "{base_url}/v1/projects/{project_id}/subscriptions/{subscription_id}:{action}" )
158134 }
159135}
160136
@@ -303,7 +279,7 @@ mod tests {
303279 Ok ( value)
304280 }
305281 "v2" => Ok ( value) ,
306- unknown => Err ( anyhow ! ( "Unknow version `{}`" , unknown ) . into ( ) ) ,
282+ unknown => Err ( anyhow ! ( "Unknow version `{unknown }`" ) . into ( ) ) ,
307283 }
308284 }
309285}
0 commit comments