@@ -41,15 +41,8 @@ impl Client {
41
41
sha : & ' a str ,
42
42
}
43
43
let url = format ! ( "{}/git/refs" , self . repository_url) ;
44
- let response = self
45
- . inner
46
- . post ( & url)
47
- . json ( & CreateRefRequest { ref_, sha } )
48
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
49
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
50
- . send ( )
51
- . await
52
- . context ( "POST git/refs failed" ) ?;
44
+ let req = self . inner . post ( & url) . json ( & CreateRefRequest { ref_, sha } ) ;
45
+ let response = self . send ( req) . await . context ( "POST git/refs failed" ) ?;
53
46
if response. status ( ) != reqwest:: StatusCode :: CREATED {
54
47
anyhow:: bail!( "{:?} != 201 CREATED" , response. status( ) ) ;
55
48
}
@@ -78,21 +71,14 @@ impl Client {
78
71
}
79
72
80
73
let url = format ! ( "{}/pulls" , self . repository_url) ;
81
- let response = self
82
- . inner
83
- . post ( & url)
84
- . json ( & CreatePrRequest {
85
- title,
86
- head,
87
- base,
88
- description,
89
- draft,
90
- } )
91
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
92
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
93
- . send ( )
94
- . await
95
- . context ( "POST pulls failed" ) ?;
74
+ let req = self . inner . post ( & url) . json ( & CreatePrRequest {
75
+ title,
76
+ head,
77
+ base,
78
+ description,
79
+ draft,
80
+ } ) ;
81
+ let response = self . send ( req) . await . context ( "POST pulls failed" ) ?;
96
82
if response. status ( ) != reqwest:: StatusCode :: CREATED {
97
83
anyhow:: bail!( "{:?} != 201 CREATED" , response. status( ) ) ;
98
84
}
@@ -107,17 +93,14 @@ impl Client {
107
93
force : bool ,
108
94
}
109
95
let url = format ! ( "{}/git/refs/{}" , self . repository_url, branch) ;
110
- let commit_response = self
96
+ let req = self
111
97
. inner
112
98
. patch ( & url)
113
- . json ( & UpdateBranchRequest { sha, force : true } )
114
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
115
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
116
- . send ( )
117
- . await
118
- . context ( "PATCH git/refs failed" ) ?;
119
- if commit_response. status ( ) != reqwest:: StatusCode :: OK {
120
- anyhow:: bail!( "{:?} != 200 OK" , commit_response. status( ) ) ;
99
+ . json ( & UpdateBranchRequest { sha, force : true } ) ;
100
+
101
+ let response = self . send ( req) . await . context ( "PATCH git/refs failed" ) ?;
102
+ if response. status ( ) != reqwest:: StatusCode :: OK {
103
+ anyhow:: bail!( "{:?} != 200 OK" , response. status( ) ) ;
121
104
}
122
105
123
106
Ok ( ( ) )
@@ -136,19 +119,12 @@ impl Client {
136
119
commit_message : & ' a str ,
137
120
}
138
121
let url = format ! ( "{}/merges" , self . repository_url) ;
139
- let response = self
140
- . inner
141
- . patch ( & url)
142
- . json ( & MergeBranchRequest {
143
- base : branch,
144
- head : sha,
145
- commit_message,
146
- } )
147
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
148
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
149
- . send ( )
150
- . await
151
- . context ( "PATCH /merges failed" ) ?;
122
+ let req = self . inner . patch ( & url) . json ( & MergeBranchRequest {
123
+ base : branch,
124
+ head : sha,
125
+ commit_message,
126
+ } ) ;
127
+ let response = self . send ( req) . await . context ( "PATCH /merges failed" ) ?;
152
128
if !response. status ( ) . is_success ( ) {
153
129
anyhow:: bail!( "{:?} != 201 CREATED" , response. status( ) ) ;
154
130
}
@@ -169,24 +145,18 @@ impl Client {
169
145
parents : & ' a [ & ' a str ] ,
170
146
}
171
147
let url = format ! ( "{}/git/commits" , self . repository_url) ;
172
- let commit_response = self
173
- . inner
174
- . post ( & url)
175
- . json ( & CreateCommitRequest {
176
- message,
177
- tree,
178
- parents,
179
- } )
180
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
181
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
182
- . send ( )
183
- . await
184
- . context ( "POST git/commits failed" ) ?;
185
- if commit_response. status ( ) != reqwest:: StatusCode :: CREATED {
186
- anyhow:: bail!( "{:?} != 201 CREATED" , commit_response. status( ) ) ;
148
+ let req = self . inner . post ( & url) . json ( & CreateCommitRequest {
149
+ message,
150
+ tree,
151
+ parents,
152
+ } ) ;
153
+
154
+ let response = self . send ( req) . await . context ( "POST git/commits failed" ) ?;
155
+ if response. status ( ) != reqwest:: StatusCode :: CREATED {
156
+ anyhow:: bail!( "{:?} != 201 CREATED" , response. status( ) ) ;
187
157
}
188
158
189
- Ok ( commit_response
159
+ Ok ( response
190
160
. json :: < CreateCommitResponse > ( )
191
161
. await
192
162
. context ( "deserializing failed" ) ?
@@ -195,14 +165,8 @@ impl Client {
195
165
196
166
pub async fn get_issue ( & self , number : u64 ) -> anyhow:: Result < Issue > {
197
167
let url = format ! ( "{}/issues/{}" , self . repository_url, number) ;
198
- let response = self
199
- . inner
200
- . get ( & url)
201
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
202
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
203
- . send ( )
204
- . await
205
- . context ( "cannot get issue" ) ?;
168
+ let req = self . inner . get ( & url) ;
169
+ let response = self . send ( req) . await . context ( "cannot get issue" ) ?;
206
170
if !response. status ( ) . is_success ( ) {
207
171
anyhow:: bail!( "{:?} != 200 OK" , response. status( ) ) ;
208
172
}
@@ -212,15 +176,9 @@ impl Client {
212
176
213
177
pub async fn get_commit ( & self , sha : & str ) -> anyhow:: Result < Commit > {
214
178
let url = format ! ( "{}/commits/{}" , self . repository_url, sha) ;
215
- let commit_response = self
216
- . inner
217
- . get ( & url)
218
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
219
- . basic_auth ( "rust-timer" , Some ( & self . token ) )
220
- . send ( )
221
- . await
222
- . context ( "cannot get commit" ) ?;
223
- commit_response
179
+ let req = self . inner . get ( & url) ;
180
+ let response = self . send ( req) . await . context ( "cannot get commit" ) ?;
181
+ response
224
182
. json ( )
225
183
. await
226
184
. map_err ( |e| anyhow:: anyhow!( "cannot deserialize commit: {:?}" , e) )
@@ -235,19 +193,29 @@ impl Client {
235
193
pub body : String ,
236
194
}
237
195
let body = body. into ( ) ;
238
- let client = reqwest :: Client :: new ( ) ;
239
- let req = client
196
+ let req = self
197
+ . inner
240
198
. post ( & format ! ( "{}/issues/{}/comments" , self . repository_url, pr) )
241
199
. json ( & PostComment {
242
200
body : body. to_owned ( ) ,
243
- } )
244
- . header ( USER_AGENT , "perf-rust-lang-org-server" )
245
- . basic_auth ( "rust-timer" , Some ( & self . token ) ) ;
201
+ } ) ;
202
+ let resp = self . send ( req) . await ;
246
203
247
- if let Err ( e) = req . send ( ) . await {
204
+ if let Err ( e) = resp {
248
205
eprintln ! ( "failed to post comment: {:?}" , e) ;
249
206
}
250
207
}
208
+
209
+ async fn send (
210
+ & self ,
211
+ request : reqwest:: RequestBuilder ,
212
+ ) -> Result < reqwest:: Response , reqwest:: Error > {
213
+ request
214
+ . header ( USER_AGENT , "perf-rust-lang-org-server" )
215
+ . basic_auth ( "rust-timer" , Some ( & self . token ) )
216
+ . send ( )
217
+ . await
218
+ }
251
219
}
252
220
253
221
#[ derive( Debug , serde:: Deserialize ) ]
0 commit comments