package http

import (
	
	
)

// 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 ( *ResponseError) () int { return .Response.StatusCode }

// HTTPResponse returns the HTTP response received from the service.
func ( *ResponseError) () *Response { return .Response }

// Unwrap returns the nested error if any, or nil.
func ( *ResponseError) () error { return .Err }

func ( *ResponseError) () string {
	return fmt.Sprintf(
		"http response error StatusCode: %d, %v",
		.Response.StatusCode, .Err)
}