Documentation ¶
Index ¶
- Constants
- func ProblemDetailsToStatusCode(prob *ProblemDetails) int
- type ProblemDetails
- func AccountDoesNotExist(detail string) *ProblemDetails
- func AlreadyRevoked(detail string, a ...interface{}) *ProblemDetails
- func BadCSR(detail string, a ...interface{}) *ProblemDetails
- func BadNonce(detail string) *ProblemDetails
- func BadPublicKey(detail string, a ...interface{}) *ProblemDetails
- func BadRevocationReason(detail string, a ...interface{}) *ProblemDetails
- func BadSignatureAlgorithm(detail string, a ...interface{}) *ProblemDetails
- func CAA(detail string) *ProblemDetails
- func Canceled(detail string, args ...interface{}) *ProblemDetails
- func Conflict(detail string) *ProblemDetails
- func ConnectionFailure(detail string) *ProblemDetails
- func ContentLengthRequired() *ProblemDetails
- func DNS(detail string) *ProblemDetails
- func InvalidContentType(detail string) *ProblemDetails
- func InvalidEmail(detail string) *ProblemDetails
- func Malformed(detail string, args ...interface{}) *ProblemDetails
- func MethodNotAllowed() *ProblemDetails
- func NotFound(detail string) *ProblemDetails
- func OrderNotReady(detail string, a ...interface{}) *ProblemDetails
- func RateLimited(detail string) *ProblemDetails
- func RejectedIdentifier(detail string) *ProblemDetails
- func ServerInternal(detail string) *ProblemDetails
- func TLSError(detail string) *ProblemDetails
- func Unauthorized(detail string) *ProblemDetails
- type ProblemType
- type SubProblemDetails
Constants ¶
const ( ConnectionProblem = ProblemType("connection") MalformedProblem = ProblemType("malformed") ServerInternalProblem = ProblemType("serverInternal") TLSProblem = ProblemType("tls") 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 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