Blame vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_response_error.go

Packit 63bb0d
package azblob
Packit 63bb0d
Packit 63bb0d
// Code generated by Microsoft (R) AutoRest Code Generator.
Packit 63bb0d
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"bytes"
Packit 63bb0d
	"fmt"
Packit 63bb0d
	"github.com/Azure/azure-pipeline-go/pipeline"
Packit 63bb0d
	"net"
Packit 63bb0d
	"net/http"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// if you want to provide custom error handling set this variable to your constructor function
Packit 63bb0d
var responseErrorFactory func(cause error, response *http.Response, description string) error
Packit 63bb0d
Packit 63bb0d
// ResponseError identifies a responder-generated network or response parsing error.
Packit 63bb0d
type ResponseError interface {
Packit 63bb0d
	// Error exposes the Error(), Temporary() and Timeout() methods.
Packit 63bb0d
	net.Error // Includes the Go error interface
Packit 63bb0d
	// Response returns the HTTP response. You may examine this but you should not modify it.
Packit 63bb0d
	Response() *http.Response
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NewResponseError creates an error object that implements the error interface.
Packit 63bb0d
func NewResponseError(cause error, response *http.Response, description string) error {
Packit 63bb0d
	if responseErrorFactory != nil {
Packit 63bb0d
		return responseErrorFactory(cause, response, description)
Packit 63bb0d
	}
Packit 63bb0d
	return &responseError{
Packit 63bb0d
		ErrorNode:   pipeline.ErrorNode{}.Initialize(cause, 3),
Packit 63bb0d
		response:    response,
Packit 63bb0d
		description: description,
Packit 63bb0d
	}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// responseError is the internal struct that implements the public ResponseError interface.
Packit 63bb0d
type responseError struct {
Packit 63bb0d
	pipeline.ErrorNode // This is embedded so that responseError "inherits" Error, Temporary, Timeout, and Cause
Packit 63bb0d
	response           *http.Response
Packit 63bb0d
	description        string
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Error implements the error interface's Error method to return a string representation of the error.
Packit 63bb0d
func (e *responseError) Error() string {
Packit 63bb0d
	b := &bytes.Buffer{}
Packit 63bb0d
	fmt.Fprintf(b, "===== RESPONSE ERROR (Code=%v) =====\n", e.response.StatusCode)
Packit 63bb0d
	fmt.Fprintf(b, "Status=%s, Description: %s\n", e.response.Status, e.description)
Packit 63bb0d
	s := b.String()
Packit 63bb0d
	return e.ErrorNode.Error(s)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response implements the ResponseError interface's method to return the HTTP response.
Packit 63bb0d
func (e *responseError) Response() *http.Response {
Packit 63bb0d
	return e.response
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// RFC7807 PROBLEM ------------------------------------------------------------------------------------
Packit 63bb0d
// RFC7807Problem ... This type can be publicly embedded in another type that wants to add additional members.
Packit 63bb0d
/*type RFC7807Problem struct {
Packit 63bb0d
	// Mandatory: A (relative) URI reference identifying the problem type (it MAY refer to human-readable documentation).
Packit 63bb0d
	typeURI string // Should default to "about:blank"
Packit 63bb0d
	// Optional: Short, human-readable summary (maybe localized).
Packit 63bb0d
	title string
Packit 63bb0d
	// Optional: HTTP status code generated by the origin server
Packit 63bb0d
	status int
Packit 63bb0d
	// Optional: Human-readable explanation for this problem occurance.
Packit 63bb0d
	// Should help client correct the problem. Clients should NOT parse this string.
Packit 63bb0d
	detail string
Packit 63bb0d
	// Optional: A (relative) URI identifying this specific problem occurence (it may or may not be dereferenced).
Packit 63bb0d
	instance string
Packit 63bb0d
}
Packit 63bb0d
// NewRFC7807Problem ...
Packit 63bb0d
func NewRFC7807Problem(typeURI string, status int, titleFormat string, a ...interface{}) error {
Packit 63bb0d
	return &RFC7807Problem{
Packit 63bb0d
		typeURI: typeURI,
Packit 63bb0d
		status:  status,
Packit 63bb0d
		title:   fmt.Sprintf(titleFormat, a...),
Packit 63bb0d
	}
Packit 63bb0d
}
Packit 63bb0d
// Error returns the error information as a string.
Packit 63bb0d
func (e *RFC7807Problem) Error() string {
Packit 63bb0d
	return e.title
Packit 63bb0d
}
Packit 63bb0d
// TypeURI ...
Packit 63bb0d
func (e *RFC7807Problem) TypeURI() string {
Packit 63bb0d
	if e.typeURI == "" {
Packit 63bb0d
		e.typeURI = "about:blank"
Packit 63bb0d
	}
Packit 63bb0d
	return e.typeURI
Packit 63bb0d
}
Packit 63bb0d
// Members ...
Packit 63bb0d
func (e *RFC7807Problem) Members() (status int, title, detail, instance string) {
Packit 63bb0d
	return e.status, e.title, e.detail, e.instance
Packit 63bb0d
}*/