Skip to content

Commit 424b9cb

Browse files
authored
Merge pull request #312 from s4s7/feature/refactor-newRequest-func
Refactor newRequest function to remove error return value
2 parents 475f357 + 1cc63fa commit 424b9cb

File tree

4 files changed

+47
-77
lines changed

4 files changed

+47
-77
lines changed

client/auth_info_test.go

+12-16
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ import (
1818
"net/http"
1919
"testing"
2020

21-
"github.com/go-openapi/runtime"
2221
"github.com/stretchr/testify/assert"
2322
"github.com/stretchr/testify/require"
23+
24+
"github.com/go-openapi/runtime"
2425
)
2526

2627
func TestBasicAuth(t *testing.T) {
27-
r, err := newRequest(http.MethodGet, "/", nil)
28-
require.NoError(t, err)
28+
r := newRequest(http.MethodGet, "/", nil)
2929

3030
writer := BasicAuth("someone", "with a password")
31-
err = writer.AuthenticateRequest(r, nil)
31+
err := writer.AuthenticateRequest(r, nil)
3232
require.NoError(t, err)
3333

3434
req := new(http.Request)
@@ -41,44 +41,40 @@ func TestBasicAuth(t *testing.T) {
4141
}
4242

4343
func TestAPIKeyAuth_Query(t *testing.T) {
44-
r, err := newRequest(http.MethodGet, "/", nil)
45-
require.NoError(t, err)
44+
r := newRequest(http.MethodGet, "/", nil)
4645

4746
writer := APIKeyAuth("api_key", "query", "the-shared-key")
48-
err = writer.AuthenticateRequest(r, nil)
47+
err := writer.AuthenticateRequest(r, nil)
4948
require.NoError(t, err)
5049

5150
assert.Equal(t, "the-shared-key", r.query.Get("api_key"))
5251
}
5352

5453
func TestAPIKeyAuth_Header(t *testing.T) {
55-
r, err := newRequest(http.MethodGet, "/", nil)
56-
require.NoError(t, err)
54+
r := newRequest(http.MethodGet, "/", nil)
5755

5856
writer := APIKeyAuth("x-api-token", "header", "the-shared-key")
59-
err = writer.AuthenticateRequest(r, nil)
57+
err := writer.AuthenticateRequest(r, nil)
6058
require.NoError(t, err)
6159

6260
assert.Equal(t, "the-shared-key", r.header.Get("x-api-token"))
6361
}
6462

6563
func TestBearerTokenAuth(t *testing.T) {
66-
r, err := newRequest(http.MethodGet, "/", nil)
67-
require.NoError(t, err)
64+
r := newRequest(http.MethodGet, "/", nil)
6865

6966
writer := BearerToken("the-shared-token")
70-
err = writer.AuthenticateRequest(r, nil)
67+
err := writer.AuthenticateRequest(r, nil)
7168
require.NoError(t, err)
7269

7370
assert.Equal(t, "Bearer the-shared-token", r.header.Get(runtime.HeaderAuthorization))
7471
}
7572

7673
func TestCompose(t *testing.T) {
77-
r, err := newRequest(http.MethodGet, "/", nil)
78-
require.NoError(t, err)
74+
r := newRequest(http.MethodGet, "/", nil)
7975

8076
writer := Compose(APIKeyAuth("x-api-key", "header", "the-api-key"), APIKeyAuth("x-secret-key", "header", "the-secret-key"))
81-
err = writer.AuthenticateRequest(r, nil)
77+
err := writer.AuthenticateRequest(r, nil)
8278
require.NoError(t, err)
8379

8480
assert.Equal(t, "the-api-key", r.header.Get("x-api-key"))

client/request.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
)
3737

3838
// NewRequest creates a new swagger http client request
39-
func newRequest(method, pathPattern string, writer runtime.ClientRequestWriter) (*request, error) {
39+
func newRequest(method, pathPattern string, writer runtime.ClientRequestWriter) *request {
4040
return &request{
4141
pathPattern: pathPattern,
4242
method: method,
@@ -45,7 +45,7 @@ func newRequest(method, pathPattern string, writer runtime.ClientRequestWriter)
4545
query: make(url.Values),
4646
timeout: DefaultTimeout,
4747
getBody: getRequestBuffer,
48-
}, nil
48+
}
4949
}
5050

5151
// Request represents a swagger client request.

client/request_test.go

+28-52
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ import (
3030
"strings"
3131
"testing"
3232

33-
"github.com/go-openapi/runtime"
3433
"github.com/go-openapi/strfmt"
3534
"github.com/stretchr/testify/assert"
3635
"github.com/stretchr/testify/require"
36+
37+
"github.com/go-openapi/runtime"
3738
)
3839

3940
var testProducers = map[string]runtime.Producer{
@@ -43,8 +44,7 @@ var testProducers = map[string]runtime.Producer{
4344
}
4445

4546
func TestBuildRequest_SetHeaders(t *testing.T) {
46-
r, err := newRequest(http.MethodGet, "/flats/{id}/", nil)
47-
require.NoError(t, err)
47+
r := newRequest(http.MethodGet, "/flats/{id}/", nil)
4848

4949
// single value
5050
_ = r.SetHeaderParam("X-Rate-Limit", "500")
@@ -58,16 +58,14 @@ func TestBuildRequest_SetHeaders(t *testing.T) {
5858
}
5959

6060
func TestBuildRequest_SetPath(t *testing.T) {
61-
r, err := newRequest(http.MethodGet, "/flats/{id}/?hello=world", nil)
62-
require.NoError(t, err)
61+
r := newRequest(http.MethodGet, "/flats/{id}/?hello=world", nil)
6362

6463
_ = r.SetPathParam("id", "1345")
6564
assert.Equal(t, "1345", r.pathParams["id"])
6665
}
6766

6867
func TestBuildRequest_SetQuery(t *testing.T) {
69-
r, err := newRequest(http.MethodGet, "/flats/{id}/", nil)
70-
require.NoError(t, err)
68+
r := newRequest(http.MethodGet, "/flats/{id}/", nil)
7169

7270
// single value
7371
_ = r.SetQueryParam("hello", "there")
@@ -80,8 +78,7 @@ func TestBuildRequest_SetQuery(t *testing.T) {
8078

8179
func TestBuildRequest_SetForm(t *testing.T) {
8280
// non-multipart
83-
r, err := newRequest(http.MethodPost, "/flats", nil)
84-
require.NoError(t, err)
81+
r := newRequest(http.MethodPost, "/flats", nil)
8582
_ = r.SetFormParam("hello", "world")
8683
assert.Equal(t, "world", r.formFields.Get("hello"))
8784
_ = r.SetFormParam("goodbye", "cruel", "world")
@@ -90,11 +87,10 @@ func TestBuildRequest_SetForm(t *testing.T) {
9087

9188
func TestBuildRequest_SetFile(t *testing.T) {
9289
// needs to convert form to multipart
93-
r, err := newRequest(http.MethodPost, "/flats/{id}/image", nil)
94-
require.NoError(t, err)
90+
r := newRequest(http.MethodPost, "/flats/{id}/image", nil)
9591

9692
// error if it isn't there
97-
err = r.SetFileParam("not there", os.NewFile(0, "./i-dont-exist"))
93+
err := r.SetFileParam("not there", os.NewFile(0, "./i-dont-exist"))
9894
require.Error(t, err)
9995

10096
// error if it isn't a file
@@ -125,8 +121,7 @@ func mustGetFile(path string) *os.File {
125121
}
126122

127123
func TestBuildRequest_SetBody(t *testing.T) {
128-
r, err := newRequest(http.MethodGet, "/flats/{id}/?hello=world", nil)
129-
require.NoError(t, err)
124+
r := newRequest(http.MethodGet, "/flats/{id}/?hello=world", nil)
130125

131126
bd := []struct{ Name, Hobby string }{{"Tom", "Organ trail"}, {"John", "Bird watching"}}
132127

@@ -142,8 +137,7 @@ func TestBuildRequest_BuildHTTP_NoPayload(t *testing.T) {
142137
_ = req.SetHeaderParam("X-Rate-Limit", "200")
143138
return nil
144139
})
145-
r, err := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
146-
require.NoError(t, err)
140+
r := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
147141

148142
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
149143
require.NoError(t, err)
@@ -162,8 +156,7 @@ func TestBuildRequest_BuildHTTP_Payload(t *testing.T) {
162156
_ = req.SetHeaderParam("X-Rate-Limit", "200")
163157
return nil
164158
})
165-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
166-
require.NoError(t, err)
159+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
167160
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.JSONMime)
168161

169162
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
@@ -197,8 +190,7 @@ func TestBuildRequest_BuildHTTP_SetsInAuth(t *testing.T) {
197190
return nil
198191
})
199192

200-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
201-
require.NoError(t, err)
193+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
202194
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.JSONMime)
203195

204196
req, err := r.buildHTTP(runtime.JSONMime, "", testProducers, nil, auth)
@@ -228,8 +220,7 @@ func TestBuildRequest_BuildHTTP_XMLPayload(t *testing.T) {
228220
_ = req.SetHeaderParam("X-Rate-Limit", "200")
229221
return nil
230222
})
231-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
232-
require.NoError(t, err)
223+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
233224
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.XMLMime)
234225

235226
req, err := r.BuildHTTP(runtime.XMLMime, "", testProducers, nil)
@@ -256,8 +247,7 @@ func TestBuildRequest_BuildHTTP_TextPayload(t *testing.T) {
256247
_ = req.SetHeaderParam("X-Rate-Limit", "200")
257248
return nil
258249
})
259-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
260-
require.NoError(t, err)
250+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
261251
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.TextMime)
262252

263253
req, err := r.BuildHTTP(runtime.TextMime, "", testProducers, nil)
@@ -281,8 +271,7 @@ func TestBuildRequest_BuildHTTP_Form(t *testing.T) {
281271
_ = req.SetHeaderParam("X-Rate-Limit", "200")
282272
return nil
283273
})
284-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
285-
require.NoError(t, err)
274+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
286275
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.JSONMime)
287276

288277
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
@@ -305,8 +294,7 @@ func TestBuildRequest_BuildHTTP_Form_URLEncoded(t *testing.T) {
305294
_ = req.SetHeaderParam("X-Rate-Limit", "200")
306295
return nil
307296
})
308-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
309-
require.NoError(t, err)
297+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
310298
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.URLencodedFormMime)
311299

312300
req, err := r.BuildHTTP(runtime.URLencodedFormMime, "", testProducers, nil)
@@ -330,8 +318,7 @@ func TestBuildRequest_BuildHTTP_Form_Content_Length(t *testing.T) {
330318
_ = req.SetHeaderParam("X-Rate-Limit", "200")
331319
return nil
332320
})
333-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
334-
require.NoError(t, err)
321+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
335322
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.MultipartFormMime)
336323

337324
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
@@ -356,8 +343,7 @@ func TestBuildRequest_BuildHTTP_FormMultipart(t *testing.T) {
356343
_ = req.SetHeaderParam("X-Rate-Limit", "200")
357344
return nil
358345
})
359-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
360-
require.NoError(t, err)
346+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
361347
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.MultipartFormMime)
362348

363349
req, err := r.BuildHTTP(runtime.MultipartFormMime, "", testProducers, nil)
@@ -390,8 +376,7 @@ func TestBuildRequest_BuildHTTP_FormMultiples(t *testing.T) {
390376
_ = req.SetHeaderParam("X-Rate-Limit", "200")
391377
return nil
392378
})
393-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
394-
require.NoError(t, err)
379+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
395380
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.MultipartFormMime)
396381

397382
req, err := r.BuildHTTP(runtime.MultipartFormMime, "", testProducers, nil)
@@ -438,8 +423,7 @@ func TestBuildRequest_BuildHTTP_Files(t *testing.T) {
438423
_ = req.SetHeaderParam("X-Rate-Limit", "200")
439424
return nil
440425
})
441-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
442-
require.NoError(t, err)
426+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
443427
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.JSONMime)
444428
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
445429
require.NoError(t, err)
@@ -492,8 +476,7 @@ func TestBuildRequest_BuildHTTP_Files_URLEncoded(t *testing.T) {
492476
_ = req.SetHeaderParam("X-Rate-Limit", "200")
493477
return nil
494478
})
495-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
496-
require.NoError(t, err)
479+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
497480
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.URLencodedFormMime)
498481
req, err := r.BuildHTTP(runtime.URLencodedFormMime, "", testProducers, nil)
499482
require.NoError(t, err)
@@ -554,8 +537,7 @@ func TestBuildRequest_BuildHTTP_File_ContentType(t *testing.T) {
554537

555538
return nil
556539
})
557-
r, err := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
558-
require.NoError(t, err)
540+
r := newRequest(http.MethodGet, "/flats/{id}/", reqWrtr)
559541
_ = r.SetHeaderParam(runtime.HeaderContentType, runtime.JSONMime)
560542
req, err := r.BuildHTTP(runtime.JSONMime, "", testProducers, nil)
561543
require.NoError(t, err)
@@ -594,8 +576,7 @@ func TestBuildRequest_BuildHTTP_BasePath(t *testing.T) {
594576
_ = req.SetHeaderParam("X-Rate-Limit", "200")
595577
return nil
596578
})
597-
r, err := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
598-
require.NoError(t, err)
579+
r := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
599580

600581
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath", testProducers, nil)
601582
require.NoError(t, err)
@@ -613,8 +594,7 @@ func TestBuildRequest_BuildHTTP_EscapedPath(t *testing.T) {
613594
_ = req.SetHeaderParam("X-Rate-Limit", "200")
614595
return nil
615596
})
616-
r, err := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
617-
require.NoError(t, err)
597+
r := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
618598

619599
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath", testProducers, nil)
620600
require.NoError(t, err)
@@ -634,8 +614,7 @@ func TestBuildRequest_BuildHTTP_BasePathWithQueryParameters(t *testing.T) {
634614
_ = req.SetPathParam("id", "1234")
635615
return nil
636616
})
637-
r, err := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
638-
require.NoError(t, err)
617+
r := newRequest(http.MethodPost, "/flats/{id}/", reqWrtr)
639618

640619
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath?foo=bar", testProducers, nil)
641620
require.NoError(t, err)
@@ -653,8 +632,7 @@ func TestBuildRequest_BuildHTTP_PathPatternWithQueryParameters(t *testing.T) {
653632
_ = req.SetPathParam("id", "1234")
654633
return nil
655634
})
656-
r, err := newRequest(http.MethodPost, "/flats/{id}/?foo=bar", reqWrtr)
657-
require.NoError(t, err)
635+
r := newRequest(http.MethodPost, "/flats/{id}/?foo=bar", reqWrtr)
658636

659637
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath", testProducers, nil)
660638
require.NoError(t, err)
@@ -671,8 +649,7 @@ func TestBuildRequest_BuildHTTP_StaticParametersPathPatternPrevails(t *testing.T
671649
_ = req.SetPathParam("id", "1234")
672650
return nil
673651
})
674-
r, err := newRequest(http.MethodPost, "/flats/{id}/?hello=world", reqWrtr)
675-
require.NoError(t, err)
652+
r := newRequest(http.MethodPost, "/flats/{id}/?hello=world", reqWrtr)
676653

677654
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath?hello=kitty", testProducers, nil)
678655
require.NoError(t, err)
@@ -689,8 +666,7 @@ func TestBuildRequest_BuildHTTP_StaticParametersConflictClientPrevails(t *testin
689666
_ = req.SetPathParam("id", "1234")
690667
return nil
691668
})
692-
r, err := newRequest(http.MethodPost, "/flats/{id}/?hello=world", reqWrtr)
693-
require.NoError(t, err)
669+
r := newRequest(http.MethodPost, "/flats/{id}/?hello=world", reqWrtr)
694670

695671
req, err := r.BuildHTTP(runtime.JSONMime, "/basepath?hello=kitty", testProducers, nil)
696672
require.NoError(t, err)

client/runtime.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,13 @@ import (
3232
"sync"
3333
"time"
3434

35+
"github.com/go-openapi/strfmt"
36+
"github.com/opentracing/opentracing-go"
37+
3538
"github.com/go-openapi/runtime"
3639
"github.com/go-openapi/runtime/logger"
3740
"github.com/go-openapi/runtime/middleware"
3841
"github.com/go-openapi/runtime/yamlpc"
39-
"github.com/go-openapi/strfmt"
40-
"github.com/opentracing/opentracing-go"
4142
)
4243

4344
const (
@@ -379,14 +380,11 @@ func (r *Runtime) EnableConnectionReuse() {
379380
func (r *Runtime) createHttpRequest(operation *runtime.ClientOperation) (*request, *http.Request, error) { //nolint:revive,stylecheck
380381
params, _, auth := operation.Params, operation.Reader, operation.AuthInfo
381382

382-
request, err := newRequest(operation.Method, operation.PathPattern, params)
383-
if err != nil {
384-
return nil, nil, err
385-
}
383+
request := newRequest(operation.Method, operation.PathPattern, params)
386384

387385
var accept []string
388386
accept = append(accept, operation.ProducesMediaTypes...)
389-
if err = request.SetHeaderParam(runtime.HeaderAccept, accept...); err != nil {
387+
if err := request.SetHeaderParam(runtime.HeaderAccept, accept...); err != nil {
390388
return nil, nil, err
391389
}
392390

0 commit comments

Comments
 (0)