From 1b7a8fdcc52166fd3033d5ed85e902d6a775d9ab Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Tue, 13 Jun 2023 12:50:18 +0200 Subject: Report details of feed transport error --- client/go/internal/mock/http.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'client/go/internal/mock') diff --git a/client/go/internal/mock/http.go b/client/go/internal/mock/http.go index f176870a940..8bab716ea60 100644 --- a/client/go/internal/mock/http.go +++ b/client/go/internal/mock/http.go @@ -14,6 +14,9 @@ type HTTPClient struct { // The responses to return for future requests. Once a response is consumed, it's removed from this slice. nextResponses []HTTPResponse + // The error to return for the next request. If non-nil, this error is returned before any responses in nextResponses. + nextError error + // LastRequest is the last HTTP request made through this. LastRequest *http.Request @@ -48,7 +51,16 @@ func (c *HTTPClient) NextResponse(response HTTPResponse) { c.nextResponses = append(c.nextResponses, response) } +func (c *HTTPClient) NextResponseError(err error) { + c.nextError = err +} + func (c *HTTPClient) Do(request *http.Request, timeout time.Duration) (*http.Response, error) { + if c.nextError != nil { + err := c.nextError + c.nextError = nil + return nil, err + } response := HTTPResponse{Status: 200} if len(c.nextResponses) > 0 { response = c.nextResponses[0] -- cgit v1.2.3