Browse code

registry: use constants for http methods

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2019/10/13 03:42:44
Showing 6 changed files
... ...
@@ -33,7 +33,7 @@ func loginV1(authConfig *types.AuthConfig, apiEndpoint APIEndpoint, userAgent st
33 33
 		return "", "", errdefs.System(errors.New("server Error: Server Address not set"))
34 34
 	}
35 35
 
36
-	req, err := http.NewRequest("GET", serverAddress+"users/", nil)
36
+	req, err := http.NewRequest(http.MethodGet, serverAddress+"users/", nil)
37 37
 	if err != nil {
38 38
 		return "", "", err
39 39
 	}
... ...
@@ -140,7 +140,7 @@ func loginV2(authConfig *types.AuthConfig, endpoint APIEndpoint, userAgent strin
140 140
 	}
141 141
 
142 142
 	endpointStr := strings.TrimRight(endpoint.URL.String(), "/") + "/v2/"
143
-	req, err := http.NewRequest("GET", endpointStr, nil)
143
+	req, err := http.NewRequest(http.MethodGet, endpointStr, nil)
144 144
 	if err != nil {
145 145
 		if !foundV2 {
146 146
 			err = fallbackError{err: err}
... ...
@@ -262,7 +262,7 @@ func PingV2Registry(endpoint *url.URL, transport http.RoundTripper) (challenge.M
262 262
 		Timeout:   15 * time.Second,
263 263
 	}
264 264
 	endpointStr := strings.TrimRight(endpoint.String(), "/") + "/v2/"
265
-	req, err := http.NewRequest("GET", endpointStr, nil)
265
+	req, err := http.NewRequest(http.MethodGet, endpointStr, nil)
266 266
 	if err != nil {
267 267
 		return nil, false, err
268 268
 	}
... ...
@@ -149,7 +149,7 @@ func (e *V1Endpoint) Ping() (PingResult, error) {
149 149
 		return PingResult{Standalone: false}, nil
150 150
 	}
151 151
 
152
-	req, err := http.NewRequest("GET", e.Path("_ping"), nil)
152
+	req, err := http.NewRequest(http.MethodGet, e.Path("_ping"), nil)
153 153
 	if err != nil {
154 154
 		return PingResult{Standalone: false}, err
155 155
 	}
... ...
@@ -97,19 +97,19 @@ func init() {
97 97
 	r := mux.NewRouter()
98 98
 
99 99
 	// /v1/
100
-	r.HandleFunc("/v1/_ping", handlerGetPing).Methods("GET")
101
-	r.HandleFunc("/v1/images/{image_id:[^/]+}/{action:json|layer|ancestry}", handlerGetImage).Methods("GET")
102
-	r.HandleFunc("/v1/images/{image_id:[^/]+}/{action:json|layer|checksum}", handlerPutImage).Methods("PUT")
103
-	r.HandleFunc("/v1/repositories/{repository:.+}/tags", handlerGetDeleteTags).Methods("GET", "DELETE")
104
-	r.HandleFunc("/v1/repositories/{repository:.+}/tags/{tag:.+}", handlerGetTag).Methods("GET")
105
-	r.HandleFunc("/v1/repositories/{repository:.+}/tags/{tag:.+}", handlerPutTag).Methods("PUT")
106
-	r.HandleFunc("/v1/users{null:.*}", handlerUsers).Methods("GET", "POST", "PUT")
107
-	r.HandleFunc("/v1/repositories/{repository:.+}{action:/images|/}", handlerImages).Methods("GET", "PUT", "DELETE")
108
-	r.HandleFunc("/v1/repositories/{repository:.+}/auth", handlerAuth).Methods("PUT")
109
-	r.HandleFunc("/v1/search", handlerSearch).Methods("GET")
100
+	r.HandleFunc("/v1/_ping", handlerGetPing).Methods(http.MethodGet)
101
+	r.HandleFunc("/v1/images/{image_id:[^/]+}/{action:json|layer|ancestry}", handlerGetImage).Methods(http.MethodGet)
102
+	r.HandleFunc("/v1/images/{image_id:[^/]+}/{action:json|layer|checksum}", handlerPutImage).Methods(http.MethodPut)
103
+	r.HandleFunc("/v1/repositories/{repository:.+}/tags", handlerGetDeleteTags).Methods(http.MethodGet, http.MethodDelete)
104
+	r.HandleFunc("/v1/repositories/{repository:.+}/tags/{tag:.+}", handlerGetTag).Methods(http.MethodGet)
105
+	r.HandleFunc("/v1/repositories/{repository:.+}/tags/{tag:.+}", handlerPutTag).Methods(http.MethodPut)
106
+	r.HandleFunc("/v1/users{null:.*}", handlerUsers).Methods(http.MethodGet, http.MethodPost, http.MethodPut)
107
+	r.HandleFunc("/v1/repositories/{repository:.+}{action:/images|/}", handlerImages).Methods(http.MethodGet, http.MethodPut, http.MethodDelete)
108
+	r.HandleFunc("/v1/repositories/{repository:.+}/auth", handlerAuth).Methods(http.MethodPut)
109
+	r.HandleFunc("/v1/search", handlerSearch).Methods(http.MethodGet)
110 110
 
111 111
 	// /v2/
112
-	r.HandleFunc("/v2/version", handlerGetPing).Methods("GET")
112
+	r.HandleFunc("/v2/version", handlerGetPing).Methods(http.MethodGet)
113 113
 
114 114
 	testHTTPServer = httptest.NewServer(handlerAccessLog(r))
115 115
 	testHTTPSServer = httptest.NewTLSServer(handlerAccessLog(r))
... ...
@@ -350,7 +350,7 @@ func handlerGetDeleteTags(w http.ResponseWriter, r *http.Request) {
350 350
 		apiError(w, "Repository not found", 404)
351 351
 		return
352 352
 	}
353
-	if r.Method == "DELETE" {
353
+	if r.Method == http.MethodDelete {
354 354
 		delete(testRepositories, repositoryName.String())
355 355
 		writeResponse(w, true, 200)
356 356
 		return
... ...
@@ -406,9 +406,9 @@ func handlerPutTag(w http.ResponseWriter, r *http.Request) {
406 406
 
407 407
 func handlerUsers(w http.ResponseWriter, r *http.Request) {
408 408
 	code := 200
409
-	if r.Method == "POST" {
409
+	if r.Method == http.MethodPost {
410 410
 		code = 201
411
-	} else if r.Method == "PUT" {
411
+	} else if r.Method == http.MethodPut {
412 412
 		code = 204
413 413
 	}
414 414
 	writeResponse(w, "", code)
... ...
@@ -418,7 +418,7 @@ func handlerImages(w http.ResponseWriter, r *http.Request) {
418 418
 	u, _ := url.Parse(testHTTPServer.URL)
419 419
 	w.Header().Add("X-Docker-Endpoints", fmt.Sprintf("%s 	,  %s ", u.Host, "test.example.com"))
420 420
 	w.Header().Add("X-Docker-Token", fmt.Sprintf("FAKE-SESSION-%d", time.Now().UnixNano()))
421
-	if r.Method == "PUT" {
421
+	if r.Method == http.MethodPut {
422 422
 		if strings.HasSuffix(r.URL.Path, "images") {
423 423
 			writeResponse(w, "", 204)
424 424
 			return
... ...
@@ -426,7 +426,7 @@ func handlerImages(w http.ResponseWriter, r *http.Request) {
426 426
 		writeResponse(w, "", 200)
427 427
 		return
428 428
 	}
429
-	if r.Method == "DELETE" {
429
+	if r.Method == http.MethodDelete {
430 430
 		writeResponse(w, "", 204)
431 431
 		return
432 432
 	}
... ...
@@ -761,12 +761,12 @@ func TestSearchRepositories(t *testing.T) {
761 761
 
762 762
 func TestTrustedLocation(t *testing.T) {
763 763
 	for _, url := range []string{"http://example.com", "https://example.com:7777", "http://docker.io", "http://test.docker.com", "https://fakedocker.com"} {
764
-		req, _ := http.NewRequest("GET", url, nil)
764
+		req, _ := http.NewRequest(http.MethodGet, url, nil)
765 765
 		assert.Check(t, !trustedLocation(req))
766 766
 	}
767 767
 
768 768
 	for _, url := range []string{"https://docker.io", "https://test.docker.com:80"} {
769
-		req, _ := http.NewRequest("GET", url, nil)
769
+		req, _ := http.NewRequest(http.MethodGet, url, nil)
770 770
 		assert.Check(t, trustedLocation(req))
771 771
 	}
772 772
 }
... ...
@@ -777,10 +777,10 @@ func TestAddRequiredHeadersToRedirectedRequests(t *testing.T) {
777 777
 		{"https://foo.docker.io:7777", "http://bar.docker.com"},
778 778
 		{"https://foo.docker.io", "https://example.com"},
779 779
 	} {
780
-		reqFrom, _ := http.NewRequest("GET", urls[0], nil)
780
+		reqFrom, _ := http.NewRequest(http.MethodGet, urls[0], nil)
781 781
 		reqFrom.Header.Add("Content-Type", "application/json")
782 782
 		reqFrom.Header.Add("Authorization", "super_secret")
783
-		reqTo, _ := http.NewRequest("GET", urls[1], nil)
783
+		reqTo, _ := http.NewRequest(http.MethodGet, urls[1], nil)
784 784
 
785 785
 		addRequiredHeadersToRedirectedRequests(reqTo, []*http.Request{reqFrom})
786 786
 
... ...
@@ -801,10 +801,10 @@ func TestAddRequiredHeadersToRedirectedRequests(t *testing.T) {
801 801
 		{"https://docker.io", "https://docker.com"},
802 802
 		{"https://foo.docker.io:7777", "https://bar.docker.com"},
803 803
 	} {
804
-		reqFrom, _ := http.NewRequest("GET", urls[0], nil)
804
+		reqFrom, _ := http.NewRequest(http.MethodGet, urls[0], nil)
805 805
 		reqFrom.Header.Add("Content-Type", "application/json")
806 806
 		reqFrom.Header.Add("Authorization", "super_secret")
807
-		reqTo, _ := http.NewRequest("GET", urls[1], nil)
807
+		reqTo, _ := http.NewRequest(http.MethodGet, urls[1], nil)
808 808
 
809 809
 		addRequiredHeadersToRedirectedRequests(reqTo, []*http.Request{reqFrom})
810 810
 
... ...
@@ -23,7 +23,7 @@ func TestResumableRequestHeaderSimpleErrors(t *testing.T) {
23 23
 	client := &http.Client{}
24 24
 
25 25
 	var req *http.Request
26
-	req, err := http.NewRequest("GET", ts.URL, nil)
26
+	req, err := http.NewRequest(http.MethodGet, ts.URL, nil)
27 27
 	assert.NilError(t, err)
28 28
 
29 29
 	resreq := &requestReader{}
... ...
@@ -44,7 +44,7 @@ func TestResumableRequestHeaderNotTooMuchFailures(t *testing.T) {
44 44
 	client := &http.Client{}
45 45
 
46 46
 	var badReq *http.Request
47
-	badReq, err := http.NewRequest("GET", "I'm not an url", nil)
47
+	badReq, err := http.NewRequest(http.MethodGet, "I'm not an url", nil)
48 48
 	assert.NilError(t, err)
49 49
 
50 50
 	resreq := &requestReader{
... ...
@@ -64,7 +64,7 @@ func TestResumableRequestHeaderTooMuchFailures(t *testing.T) {
64 64
 	client := &http.Client{}
65 65
 
66 66
 	var badReq *http.Request
67
-	badReq, err := http.NewRequest("GET", "I'm not an url", nil)
67
+	badReq, err := http.NewRequest(http.MethodGet, "I'm not an url", nil)
68 68
 	assert.NilError(t, err)
69 69
 
70 70
 	resreq := &requestReader{
... ...
@@ -92,7 +92,7 @@ func (errorReaderCloser) Read(p []byte) (n int, err error) {
92 92
 // If an unknown error is encountered, return 0, nil and log it
93 93
 func TestResumableRequestReaderWithReadError(t *testing.T) {
94 94
 	var req *http.Request
95
-	req, err := http.NewRequest("GET", "", nil)
95
+	req, err := http.NewRequest(http.MethodGet, "", nil)
96 96
 	assert.NilError(t, err)
97 97
 
98 98
 	client := &http.Client{}
... ...
@@ -123,7 +123,7 @@ func TestResumableRequestReaderWithReadError(t *testing.T) {
123 123
 
124 124
 func TestResumableRequestReaderWithEOFWith416Response(t *testing.T) {
125 125
 	var req *http.Request
126
-	req, err := http.NewRequest("GET", "", nil)
126
+	req, err := http.NewRequest(http.MethodGet, "", nil)
127 127
 	assert.NilError(t, err)
128 128
 
129 129
 	client := &http.Client{}
... ...
@@ -159,7 +159,7 @@ func TestResumableRequestReaderWithServerDoesntSupportByteRanges(t *testing.T) {
159 159
 	defer ts.Close()
160 160
 
161 161
 	var req *http.Request
162
-	req, err := http.NewRequest("GET", ts.URL, nil)
162
+	req, err := http.NewRequest(http.MethodGet, ts.URL, nil)
163 163
 	assert.NilError(t, err)
164 164
 
165 165
 	client := &http.Client{}
... ...
@@ -185,7 +185,7 @@ func TestResumableRequestReaderWithZeroTotalSize(t *testing.T) {
185 185
 	defer ts.Close()
186 186
 
187 187
 	var req *http.Request
188
-	req, err := http.NewRequest("GET", ts.URL, nil)
188
+	req, err := http.NewRequest(http.MethodGet, ts.URL, nil)
189 189
 	assert.NilError(t, err)
190 190
 
191 191
 	client := &http.Client{}
... ...
@@ -210,7 +210,7 @@ func TestResumableRequestReader(t *testing.T) {
210 210
 	defer ts.Close()
211 211
 
212 212
 	var req *http.Request
213
-	req, err := http.NewRequest("GET", ts.URL, nil)
213
+	req, err := http.NewRequest(http.MethodGet, ts.URL, nil)
214 214
 	assert.NilError(t, err)
215 215
 
216 216
 	client := &http.Client{}
... ...
@@ -236,7 +236,7 @@ func TestResumableRequestReaderWithInitialResponse(t *testing.T) {
236 236
 	defer ts.Close()
237 237
 
238 238
 	var req *http.Request
239
-	req, err := http.NewRequest("GET", ts.URL, nil)
239
+	req, err := http.NewRequest(http.MethodGet, ts.URL, nil)
240 240
 	assert.NilError(t, err)
241 241
 
242 242
 	client := &http.Client{}
... ...
@@ -289,7 +289,7 @@ func (r *Session) GetRemoteImageLayer(imgID, registry string, imgSize int64) (io
289 289
 		imageURL   = fmt.Sprintf("%simages/%s/layer", registry, imgID)
290 290
 	)
291 291
 
292
-	req, err := http.NewRequest("GET", imageURL, nil)
292
+	req, err := http.NewRequest(http.MethodGet, imageURL, nil)
293 293
 	if err != nil {
294 294
 		return nil, fmt.Errorf("Error while getting from the server: %v", err)
295 295
 	}
... ...
@@ -423,7 +423,7 @@ func (r *Session) GetRepositoryData(name reference.Named) (*RepositoryData, erro
423 423
 
424 424
 	logrus.Debugf("[registry] Calling GET %s", repositoryTarget)
425 425
 
426
-	req, err := http.NewRequest("GET", repositoryTarget, nil)
426
+	req, err := http.NewRequest(http.MethodGet, repositoryTarget, nil)
427 427
 	if err != nil {
428 428
 		return nil, err
429 429
 	}
... ...
@@ -490,7 +490,7 @@ func (r *Session) PushImageChecksumRegistry(imgData *ImgData, registry string) e
490 490
 
491 491
 	logrus.Debugf("[registry] Calling PUT %s", u)
492 492
 
493
-	req, err := http.NewRequest("PUT", u, nil)
493
+	req, err := http.NewRequest(http.MethodPut, u, nil)
494 494
 	if err != nil {
495 495
 		return err
496 496
 	}
... ...
@@ -528,7 +528,7 @@ func (r *Session) PushImageJSONRegistry(imgData *ImgData, jsonRaw []byte, regist
528 528
 
529 529
 	logrus.Debugf("[registry] Calling PUT %s", u)
530 530
 
531
-	req, err := http.NewRequest("PUT", u, bytes.NewReader(jsonRaw))
531
+	req, err := http.NewRequest(http.MethodPut, u, bytes.NewReader(jsonRaw))
532 532
 	if err != nil {
533 533
 		return err
534 534
 	}
... ...
@@ -573,7 +573,7 @@ func (r *Session) PushImageLayerRegistry(imgID string, layer io.Reader, registry
573 573
 	h.Write([]byte{'\n'})
574 574
 	checksumLayer := io.TeeReader(tarsumLayer, h)
575 575
 
576
-	req, err := http.NewRequest("PUT", u, checksumLayer)
576
+	req, err := http.NewRequest(http.MethodPut, u, checksumLayer)
577 577
 	if err != nil {
578 578
 		return "", "", err
579 579
 	}
... ...
@@ -610,7 +610,7 @@ func (r *Session) PushRegistryTag(remote reference.Named, revision, tag, registr
610 610
 	revision = "\"" + revision + "\""
611 611
 	path := fmt.Sprintf("repositories/%s/tags/%s", reference.Path(remote), tag)
612 612
 
613
-	req, err := http.NewRequest("PUT", registry+path, strings.NewReader(revision))
613
+	req, err := http.NewRequest(http.MethodPut, registry+path, strings.NewReader(revision))
614 614
 	if err != nil {
615 615
 		return err
616 616
 	}
... ...
@@ -714,7 +714,7 @@ func (r *Session) PushImageJSONIndex(remote reference.Named, imgList []*ImgData,
714 714
 }
715 715
 
716 716
 func (r *Session) putImageRequest(u string, headers map[string][]string, body []byte) (*http.Response, error) {
717
-	req, err := http.NewRequest("PUT", u, bytes.NewReader(body))
717
+	req, err := http.NewRequest(http.MethodPut, u, bytes.NewReader(body))
718 718
 	if err != nil {
719 719
 		return nil, err
720 720
 	}
... ...
@@ -741,7 +741,7 @@ func (r *Session) SearchRepositories(term string, limit int) (*registrytypes.Sea
741 741
 	logrus.Debugf("Index server: %s", r.indexEndpoint)
742 742
 	u := r.indexEndpoint.String() + "search?q=" + url.QueryEscape(term) + "&n=" + url.QueryEscape(fmt.Sprintf("%d", limit))
743 743
 
744
-	req, err := http.NewRequest("GET", u, nil)
744
+	req, err := http.NewRequest(http.MethodGet, u, nil)
745 745
 	if err != nil {
746 746
 		return nil, errors.Wrap(errdefs.InvalidParameter(err), "Error building request")
747 747
 	}