From fab3b83f792e37e1253f65d01f4cd5c68694565c Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Tue, 24 Aug 2021 11:00:28 +0200 Subject: [PATCH 1/6] fix(#210): Provide a method to return all headers (not only first header) for a given key in response.go Signed-off-by: Marcel Oenning --- client/response.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/response.go b/client/response.go index bd238588..b297a12f 100644 --- a/client/response.go +++ b/client/response.go @@ -39,6 +39,10 @@ func (r response) GetHeader(name string) string { return r.resp.Header.Get(name) } +func (r response) GetHeaders(name string) []string { + return r.resp.Header.Values(name) +} + func (r response) Body() io.ReadCloser { return r.resp.Body } From bf99f1a48209e58c1e8cb66111b90719b4b2fc0f Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Tue, 24 Aug 2021 11:08:34 +0200 Subject: [PATCH 2/6] also change the interface Signed-off-by: Marcel Oenning --- client_response.go | 1 + 1 file changed, 1 insertion(+) diff --git a/client_response.go b/client_response.go index d97e0ac6..4c81e72d 100644 --- a/client_response.go +++ b/client_response.go @@ -27,6 +27,7 @@ type ClientResponse interface { Code() int Message() string GetHeader(string) string + GetHeaders(string) string Body() io.ReadCloser } From c57b290543a77d8a8d60ae5243777104c8e50aec Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Wed, 25 Aug 2021 10:51:59 +0200 Subject: [PATCH 3/6] chore: review Signed-off-by: Marcel Oenning --- client_response.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client_response.go b/client_response.go index 4c81e72d..c2e82f96 100644 --- a/client_response.go +++ b/client_response.go @@ -27,7 +27,7 @@ type ClientResponse interface { Code() int Message() string GetHeader(string) string - GetHeaders(string) string + GetHeaders(string) []string Body() io.ReadCloser } From c06fc6b12ff081d72a4eb4ef0e5e5bd2189fb16c Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Wed, 25 Aug 2021 20:06:57 +0200 Subject: [PATCH 4/6] fix: Tests Signed-off-by: Marcel Oenning --- client/opentracing_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/opentracing_test.go b/client/opentracing_test.go index d293c9d3..650a437f 100644 --- a/client/opentracing_test.go +++ b/client/opentracing_test.go @@ -29,6 +29,9 @@ func (r tres) Message() string { func (r tres) GetHeader(_ string) string { return "the header" } +func (r tres) GetHeaders(_ string) []string { + return []string{"the headers", "the headers2"} +} func (r tres) Body() io.ReadCloser { return ioutil.NopCloser(bytes.NewBufferString("the content")) } From defe668a85cc61785a2f7baa4aa1bbb3c9691362 Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Wed, 25 Aug 2021 20:11:44 +0200 Subject: [PATCH 5/6] chore: add unit test for new method Signed-off-by: Marcel Oenning --- client/response_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/client/response_test.go b/client/response_test.go index 5dc5db83..5d4694ee 100644 --- a/client/response_test.go +++ b/client/response_test.go @@ -37,5 +37,6 @@ func TestResponse(t *testing.T) { assert.EqualValues(t, under.StatusCode, resp.Code()) assert.Equal(t, under.Status, resp.Message()) assert.Equal(t, "blah blah", resp.GetHeader("blah")) + assert.Equal(t, []string{"blah blah"}, resp.GetHeaders("blah")) assert.Equal(t, under.Body, resp.Body()) } From 4487be094f6c44b86bb2eb44a03f70e1937c868d Mon Sep 17 00:00:00 2001 From: Marcel Oenning Date: Wed, 25 Aug 2021 22:23:41 +0200 Subject: [PATCH 6/6] fix: client_response_test Signed-off-by: Marcel Oenning --- client_response_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client_response_test.go b/client_response_test.go index 7422d349..ee13d9df 100644 --- a/client_response_test.go +++ b/client_response_test.go @@ -35,6 +35,9 @@ func (r response) Message() string { func (r response) GetHeader(_ string) string { return "the header" } +func (r response) GetHeaders(_ string) []string { + return []string{"the headers", "the headers2"} +} func (r response) Body() io.ReadCloser { return ioutil.NopCloser(bytes.NewBufferString("the content")) }