probs

package
v0.25.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2022 License: Apache-2.0, MPL-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConnectionProblem            = ProblemType("connection")
	MalformedProblem             = ProblemType("malformed")
	ServerInternalProblem        = ProblemType("serverInternal")
	TLSProblem                   = ProblemType("tls")
	UnauthorizedProblem          = ProblemType("unauthorized")
	RateLimitedProblem           = ProblemType("rateLimited")
	BadNonceProblem              = ProblemType("badNonce")
	InvalidEmailProblem          = ProblemType("invalidEmail")
	RejectedIdentifierProblem    = ProblemType("rejectedIdentifier")
	AccountDoesNotExistProblem   = ProblemType("accountDoesNotExist")
	CAAProblem                   = ProblemType("caa")
	DNSProblem                   = ProblemType("dns")
	AlreadyRevokedProblem        = ProblemType("alreadyRevoked")
	OrderNotReadyProblem         = ProblemType("orderNotReady")
	BadSignatureAlgorithmProblem = ProblemType("badSignatureAlgorithm")
	BadPublicKeyProblem          = ProblemType("badPublicKey")
	BadRevocationReasonProblem   = ProblemType("badRevocationReason")
	BadCSRProblem                = ProblemType("badCSR")

	V1ErrorNS = "urn:acme:error:"
	V2ErrorNS = "urn:ietf:params:acme:error:"
)

Error types that can be used in ACME payloads

Variables

This section is empty.

Functions

func ProblemDetailsToStatusCode

func ProblemDetailsToStatusCode(prob *ProblemDetails) int

ProblemDetailsToStatusCode inspects the given ProblemDetails to figure out what HTTP status code it should represent. It should only be used by the WFE but is included in this package because of its reliance on ProblemTypes.

Types

type ProblemDetails

type ProblemDetails struct {
	Type   ProblemType `json:"type,omitempty"`
	Detail string      `json:"detail,omitempty"`
	// HTTPStatus is the HTTP status code the ProblemDetails should probably be sent
	// as.
	HTTPStatus int `json:"status,omitempty"`
	// SubProblems are optional additional per-identifier problems. See
	// RFC 8555 Section 6.7.1: https://tools.ietf.org/html/rfc8555#section-6.7.1
	SubProblems []SubProblemDetails `json:"subproblems,omitempty"`
}

ProblemDetails objects represent problem documents https://tools.ietf.org/html/draft-ietf-appsawg-http-problem-00

func AccountDoesNotExist

func AccountDoesNotExist(detail string) *ProblemDetails

AccountDoesNotExist returns a ProblemDetails representing an AccountDoesNotExistProblem error

func AlreadyRevoked

func AlreadyRevoked(detail string, a ...interface{}) *ProblemDetails

AlreadyRevoked returns a ProblemDetails with a AlreadyRevokedProblem and a 400 Bad Request status code.

func BadCSR

func BadCSR(detail string, a ...interface{}) *ProblemDetails

BadCSR returns a ProblemDetails representing a BadCSRProblem.

func BadNonce

func BadNonce(detail string) *ProblemDetails

BadNonce returns a ProblemDetails with a BadNonceProblem and a 400 Bad Request status code.

func BadPublicKey

func BadPublicKey(detail string, a ...interface{}) *ProblemDetails

BadPublicKey returns a ProblemDetails with a BadPublicKeyProblem and a 400 Bad Request status code.

func BadRevocationReason

func BadRevocationReason(detail string, a ...interface{}) *ProblemDetails

BadRevocationReason returns a ProblemDetails representing a BadRevocationReasonProblem

func BadSignatureAlgorithm

func BadSignatureAlgorithm(detail string, a ...interface{}) *ProblemDetails

BadSignatureAlgorithm returns a ProblemDetails with a BadSignatureAlgorithmProblem and a 400 Bad Request status code.

func CAA

func CAA(detail string) *ProblemDetails

CAA returns a ProblemDetails representing a CAAProblem

func Canceled

func Canceled(detail string, args ...interface{}) *ProblemDetails

Canceled returns a ProblemDetails with a MalformedProblem and a 408 Request Timeout status code.

func Conflict

func Conflict(detail string) *ProblemDetails

Conflict returns a ProblemDetails with a MalformedProblem and a 409 Conflict status code.

func ConnectionFailure

func ConnectionFailure(detail string) *ProblemDetails

ConnectionFailure returns a ProblemDetails representing a ConnectionProblem error

func ContentLengthRequired

func ContentLengthRequired() *ProblemDetails

ContentLengthRequired returns a ProblemDetails representing a missing Content-Length header error

func DNS

func DNS(detail string) *ProblemDetails

DNS returns a ProblemDetails representing a DNSProblem

func InvalidContentType

func InvalidContentType(detail string) *ProblemDetails

InvalidContentType returns a ProblemDetails suitable for a missing ContentType header, or an incorrect ContentType header

func InvalidEmail

func InvalidEmail(detail string) *ProblemDetails

InvalidEmail returns a ProblemDetails representing an invalid email address error

func Malformed

func Malformed(detail string, args ...interface{}) *ProblemDetails

Malformed returns a ProblemDetails with a MalformedProblem and a 400 Bad Request status code.

func MethodNotAllowed

func MethodNotAllowed() *ProblemDetails

MethodNotAllowed returns a ProblemDetails representing a disallowed HTTP method error.

func NotFound

func NotFound(detail string) *ProblemDetails

NotFound returns a ProblemDetails with a MalformedProblem and a 404 Not Found status code.

func OrderNotReady

func OrderNotReady(detail string, a ...interface{}) *ProblemDetails

OrderNotReady returns a ProblemDetails representing a OrderNotReadyProblem

func RateLimited

func RateLimited(detail string) *ProblemDetails

RateLimited returns a ProblemDetails representing a RateLimitedProblem error

func RejectedIdentifier

func RejectedIdentifier(detail string) *ProblemDetails

RejectedIdentifier returns a ProblemDetails with a RejectedIdentifierProblem and a 400 Bad Request status code.

func ServerInternal

func ServerInternal(detail string) *ProblemDetails

ServerInternal returns a ProblemDetails with a ServerInternalProblem and a 500 Internal Server Failure status code.

func TLSError

func TLSError(detail string) *ProblemDetails

TLSError returns a ProblemDetails representing a TLSProblem error

func Unauthorized

func Unauthorized(detail string) *ProblemDetails

Unauthorized returns a ProblemDetails with an UnauthorizedProblem and a 403 Forbidden status code.

func (*ProblemDetails) Error

func (pd *ProblemDetails) Error() string

func (*ProblemDetails) WithSubProblems

func (pd *ProblemDetails) WithSubProblems(subProbs []SubProblemDetails) *ProblemDetails

WithSubProblems returns a new ProblemsDetails instance created by adding the provided subProbs to the existing ProblemsDetail.

type ProblemType

type ProblemType string

ProblemType defines the error types in the ACME protocol

type SubProblemDetails

type SubProblemDetails struct {
	ProblemDetails
	Identifier identifier.ACMEIdentifier `json:"identifier"`
}

SubProblemDetails represents sub-problems specific to an identifier that are related to a top-level ProblemDetails. See RFC 8555 Section 6.7.1: https://tools.ietf.org/html/rfc8555#section-6.7.1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL