diff --git a/proxy/merging.go b/proxy/merging.go index a130db9d7..e039b69a6 100644 --- a/proxy/merging.go +++ b/proxy/merging.go @@ -17,7 +17,7 @@ import ( ) // NewMergeDataMiddleware creates proxy middleware for merging responses from several backends -func NewMergeDataMiddleware(logger logging.Logger, endpointConfig *config.EndpointConfig) Middleware { +func NewMergeDataMiddleware(logger logging.Logger, endpointConfig *config.EndpointConfig) Middleware { // skipcq: GO-R1005 totalBackends := len(endpointConfig.Backend) if totalBackends == 0 { logger.Fatal("all endpoints must have at least one backend: NewMergeDataMiddleware") @@ -60,8 +60,8 @@ func NewMergeDataMiddleware(logger logging.Logger, endpointConfig *config.Endpoi sequentialReplacements := make([][]sequentialBackendReplacement, totalBackends) - var rePropagatedParams = regexp.MustCompile(`[Rr]esp(\d+)_?([\w-\.]+)?`) - var reUrlPatterns = regexp.MustCompile(`\{\{\.Resp(\d+)_([\w-\.]+)\}\}`) + var rePropagatedParams = regexp.MustCompile(`[Rr]esp(\d+)_?([\w-.]+)?`) + var reUrlPatterns = regexp.MustCompile(`\{\{\.Resp(\d+)_([\w-.]+)\}\}`) destKeyGenerator := func(i string, t string) string { key := "Resp" + i if t != "" { @@ -82,7 +82,7 @@ func NewMergeDataMiddleware(logger logging.Logger, endpointConfig *config.Endpoi backendIndex: backendIndex, destination: destKeyGenerator(match[1], match[2]), source: strings.Split(match[2], "."), - fullResponse: len(match[2]) == 0, + fullResponse: match[2] == "", }) } } @@ -100,7 +100,7 @@ func NewMergeDataMiddleware(logger logging.Logger, endpointConfig *config.Endpoi backendIndex: backendIndex, destination: destKeyGenerator(match[1], match[2]), source: strings.Split(match[2], "."), - fullResponse: len(match[2]) == 0, + fullResponse: match[2] == "", }) } } @@ -121,7 +121,7 @@ type sequentialBackendReplacement struct { func sequentialMergerConfig(cfg *config.EndpointConfig) (bool, []string) { enabled := false - propagatedParams := []string{} + var propagatedParams []string if v, ok := cfg.ExtraConfig[Namespace]; ok { if e, ok := v.(map[string]interface{}); ok { if v, ok := e[isSequentialKey]; ok { @@ -181,7 +181,7 @@ func parallelMerge(reqCloner func(*Request) *Request, timeout time.Duration, rc } } -func sequentialMerge(reqCloner func(*Request) *Request, sequentialReplacements [][]sequentialBackendReplacement, timeout time.Duration, rc ResponseCombiner, next ...Proxy) Proxy { +func sequentialMerge(reqCloner func(*Request) *Request, sequentialReplacements [][]sequentialBackendReplacement, timeout time.Duration, rc ResponseCombiner, next ...Proxy) Proxy { // skipcq: GO-R1005 return func(ctx context.Context, request *Request) (*Response, error) { localCtx, cancel := context.WithTimeout(ctx, timeout) diff --git a/proxy/merging_test.go b/proxy/merging_test.go index 551b4e985..2c74225e2 100644 --- a/proxy/merging_test.go +++ b/proxy/merging_test.go @@ -150,13 +150,13 @@ func TestNewMergeDataMiddleware_sequential(t *testing.T) { "array": []interface{}{"1", "2"}, "propagated": "everywhere", }, IsComplete: true}), - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_array", "1,2") checkRequestParam(t, r, "Resp0_propagated", "everywhere") return &Response{Data: map[string]interface{}{"tupu": "foo"}, IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_int", "42") checkRequestParam(t, r, "Resp0_string", "some") @@ -166,7 +166,7 @@ func TestNewMergeDataMiddleware_sequential(t *testing.T) { checkRequestParam(t, r, "Resp0_propagated", "everywhere") return &Response{Data: map[string]interface{}{"tupu": "foo"}, IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_int", "42") checkRequestParam(t, r, "Resp0_string", "some") @@ -177,7 +177,7 @@ func TestNewMergeDataMiddleware_sequential(t *testing.T) { checkRequestParam(t, r, "Resp0_propagated", "everywhere") return &Response{Data: map[string]interface{}{"aaaa": []int{1, 2, 3}}, IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_struct.foo", "bar") checkRequestParam(t, r, "Resp0_struct.struct.foo", "bar") @@ -185,12 +185,12 @@ func TestNewMergeDataMiddleware_sequential(t *testing.T) { checkRequestParam(t, r, "Resp0_propagated", "everywhere") return &Response{Data: map[string]interface{}{"bbbb": []bool{true, false}}, IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_propagated", "everywhere") return &Response{Data: map[string]interface{}{}, Io: io.NopCloser(strings.NewReader("hello")), IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { checkBody(t, r) checkRequestParam(t, r, "Resp0_propagated", "everywhere") checkRequestParam(t, r, "Resp5", "hello") @@ -246,13 +246,13 @@ func TestNewMergeDataMiddleware_sequential_unavailableParams(t *testing.T) { mw := NewMergeDataMiddleware(logging.NoOp, &endpoint) p := mw( dummyProxy(&Response{Data: map[string]interface{}{"supu": 42}, IsComplete: true}), - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { if v, ok := r.Params["Resp0_supu"]; ok || v != "" { t.Errorf("request with unexpected set of params") } return &Response{Data: map[string]interface{}{"tupu": "foo"}, IsComplete: true}, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { if v, ok := r.Params["Resp0_supu"]; ok || v != "" { t.Errorf("request with unexpected set of params") } @@ -306,13 +306,13 @@ func TestNewMergeDataMiddleware_sequential_erroredBackend(t *testing.T) { mw := NewMergeDataMiddleware(logging.NoOp, &endpoint) p := mw( dummyProxy(&Response{Data: map[string]interface{}{"supu": 42}, IsComplete: true}), - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, r *Request) (*Response, error) { if r.Params["Resp0_supu"] != "42" { t.Errorf("request without the expected set of params") } return nil, expecterErr }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, _ *Request) (*Response, error) { return nil, nil }, ) @@ -357,14 +357,14 @@ func TestNewMergeDataMiddleware_sequential_erroredFirstBackend(t *testing.T) { expecterErr := errors.New("wait for me") mw := NewMergeDataMiddleware(logging.NoOp, &endpoint) p := mw( - func(ctx context.Context, _ *Request) (*Response, error) { + func(_ context.Context, _ *Request) (*Response, error) { return nil, expecterErr }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, _ *Request) (*Response, error) { t.Error("this backend should never be called") return nil, nil }, - func(ctx context.Context, r *Request) (*Response, error) { + func(_ context.Context, _ *Request) (*Response, error) { t.Error("this backend should never be called") return nil, nil },