blob: 0c13bfcc8e2cf7e3e6c269e29ec76dac5971a262 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package http
import (
"fmt"
"net/http"
)
// Response provides the HTTP specific response structure for HTTP specific
// middleware steps to use to deserialize the response from an operation call.
type Response struct {
*http.Response
}
// ResponseError provides the HTTP centric error type wrapping the underlying
// error with the HTTP response value.
type ResponseError struct {
Response *Response
Err error
}
// HTTPStatusCode returns the HTTP response status code received from the service.
func (e *ResponseError) HTTPStatusCode() int { return e.Response.StatusCode }
// HTTPResponse returns the HTTP response received from the service.
func (e *ResponseError) HTTPResponse() *Response { return e.Response }
// Unwrap returns the nested error if any, or nil.
func (e *ResponseError) Unwrap() error { return e.Err }
func (e *ResponseError) Error() string {
return fmt.Sprintf(
"http response error StatusCode: %d, %v",
e.Response.StatusCode, e.Err)
}
|