func IsHTTPError(err error) (*HTTPStatusCodeError, bool) {
	statusCodeError, ok := err.(HTTPStatusCodeError)
	if ok {
		return &statusCodeError, ok
	}
	statusCodeErrorPointer, ok := err.(*HTTPStatusCodeError)
	if ok {
		return statusCodeErrorPointer, ok
	}
	return nil, ok
}
IsHTTPError returns whether the error represents an HTTPStatusCodeError.  A
client method returning an HTTP error indicates that the broker returned an
error code and a correctly formed response body.
package v2
import (
	"fmt"
	"net/http"
)
type HTTPStatusCodeError struct {
	StatusCode int
	ErrorMessage *string
	Description *string
	ResponseError error
}
func (e HTTPStatusCodeError) Error() string {
	errorMessage := "<nil>"
	description := "<nil>"
	if e.ErrorMessage != nil {
		errorMessage = *e.ErrorMessage
	}
	if e.Description != nil {
		description = *e.Description
	}
	return fmt.Sprintf("Status: %v; ErrorMessage: %v; Description: %v; ResponseError: %v", e.StatusCode, errorMessage, description, e.ResponseError)
}