package apierrors

import "github.com/mesos/mesos-go/api/v1/lib/httpcli/apierrors"

Index

Variables

var (
	// MsgNotLeader is returned by Do calls that are sent to a non leading Mesos master.
	MsgNotLeader = "call sent to a non-leading master"
	// MsgAuth is returned by Do calls that are not successfully authenticated.
	MsgAuth = "call not authenticated"
	// MsgUnsubscribed is returned by Do calls that are sent before a subscription is established.
	MsgUnsubscribed = "no subscription established"
	// MsgVersion is returned by Do calls that are sent to an incompatible API version.
	MsgVersion = "incompatible API version"
	// MsgMalformed is returned by Do calls that are malformed.
	MsgMalformed = "malformed request"
	// MsgMediaType is returned by Do calls that are sent with an unsupported media type.
	MsgMediaType = "unsupported media type"
	// MsgRateLimit is returned by Do calls that are rate limited. This is a temporary condition
	// that should clear.
	MsgRateLimit = "rate limited"
	// MsgUnavailable is returned by Do calls that are sent to a master or agent that's in recovery, or
	// does not yet realize that it's the leader. This is a temporary condition that should clear.
	MsgUnavailable = "mesos server unavailable"
	// MsgNotFound could happen if the master or agent libprocess has not yet set up http routes.
	MsgNotFound = "mesos http endpoint not found"

	CodeNotLeader            = Code(http.StatusTemporaryRedirect)
	CodeNotAuthenticated     = Code(http.StatusUnauthorized)
	CodeUnsubscribed         = Code(http.StatusForbidden)
	CodeIncompatibleVersion  = Code(http.StatusConflict)
	CodeMalformedRequest     = Code(http.StatusBadRequest)
	CodeUnsupportedMediaType = Code(http.StatusNotAcceptable)
	CodeRateLimitExceded     = Code(http.StatusTooManyRequests)
	CodeMesosUnavailable     = Code(http.StatusServiceUnavailable)
	CodeNotFound             = Code(http.StatusNotFound)

	// ErrorTable maps HTTP response codes to their respective Mesos v1 API error messages.
	ErrorTable = map[Code]string{
		CodeNotLeader:            MsgNotLeader,
		CodeMalformedRequest:     MsgMalformed,
		CodeIncompatibleVersion:  MsgVersion,
		CodeUnsubscribed:         MsgUnsubscribed,
		CodeNotAuthenticated:     MsgAuth,
		CodeUnsupportedMediaType: MsgMediaType,
		CodeNotFound:             MsgNotFound,
		CodeMesosUnavailable:     MsgUnavailable,
		CodeRateLimitExceded:     MsgRateLimit,
	}
)

Functions

func FromResponse

func FromResponse(res *http.Response) error

FromResponse returns an `*Error` for a response containing a status code that indicates an error condition. The response body (if any) is captured in the Error.Details field. Returns nil for nil responses and responses with non-error status codes. See IsErrorCode.

Types

type Code

type Code int

Code is a Mesos HTTP v1 API response status code

func (Code) IsError

func (code Code) IsError() bool

IsErrorCode returns true for all HTTP status codes that are not considered informational or successful.

type Error

type Error struct {
	Code    Code   // Code is the HTTP response status code generated by Mesos
	Message string // Message briefly summarizes the nature of the error
	Details string // Details captures the HTTP response entity, if any, supplied by Mesos
}

Error captures HTTP v1 API error codes and messages generated by Mesos.

func (*Error) Error

func (err *Error) Error() string

Error implements error interface

Source Files

apierrors.go

Version
v0.0.3
Published
Jun 19, 2017
Platform
windows/amd64
Imports
2 packages
Last checked
1 hour ago

Tools for package owners.