@@ -203,6 +203,7 @@ func testHandle(w http.ResponseWriter, r *http.Request) {
203
203
if r .Method == "GET" {
204
204
if r .URL .Path == "/" {
205
205
_ , _ = w .Write ([]byte (`this is testcase homepage` ))
206
+ return
206
207
}
207
208
}
208
209
@@ -223,11 +224,13 @@ func testHandle(w http.ResponseWriter, r *http.Request) {
223
224
}
224
225
225
226
handleFileUpload (w , r )
227
+ return
226
228
}
227
229
228
230
if r .Method == "DELETE" {
229
231
if r .URL .Path == "/purchases/10001" {
230
232
w .WriteHeader (http .StatusOK )
233
+ return
231
234
}
232
235
}
233
236
@@ -246,26 +249,33 @@ func testHandle(w http.ResponseWriter, r *http.Request) {
246
249
if r .Method == "PATCH" {
247
250
if r .URL .Path == "/purchases/10003" {
248
251
w .WriteHeader (http .StatusNoContent )
252
+ return
249
253
}
250
254
}
251
255
252
256
w .WriteHeader (http .StatusNotFound )
253
-
254
257
}
255
258
256
259
func handleFileUpload (w http.ResponseWriter , r * http.Request ) {
257
260
if r .URL .Path == "/upload" {
258
261
_ = r .ParseMultipartForm (10e6 )
259
-
262
+ var buf bytes. Buffer
260
263
for _ , fhdrs := range r .MultipartForm .File {
261
264
for _ , hdr := range fhdrs {
262
265
dotPos := strings .LastIndex (hdr .Filename , "." )
263
266
fname := fmt .Sprintf ("%s-%v%s" , hdr .Filename [:dotPos ], time .Now ().Unix (), hdr .Filename [dotPos :])
264
- _ , _ = w .Write ([]byte (fmt .Sprintf ("Firstname: %v\n Lastname: %v\n File: %v\n Header: %v\n Uploaded as: %v\n " ,
265
- r .FormValue ("first_name" ), r .FormValue ("last_name" ), hdr .Filename , hdr .Header , fname )))
267
+ _ , _ = buf .WriteString (fmt .Sprintf (
268
+ "Firstname: %v\n Lastname: %v\n File: %v\n Header: %v\n Uploaded as: %v\n " ,
269
+ r .FormValue ("first_name" ),
270
+ r .FormValue ("last_name" ),
271
+ hdr .Filename ,
272
+ hdr .Header ,
273
+ fname ))
266
274
}
267
275
}
268
276
277
+ _ , _ = w .Write (buf .Bytes ())
278
+
269
279
return
270
280
}
271
281
}
0 commit comments