74 lines
2.0 KiB
Go
74 lines
2.0 KiB
Go
package gemini
|
|
|
|
// Gemini status codes.
|
|
const (
|
|
StatusInput = 10
|
|
StatusSensitiveInput = 11
|
|
StatusSuccess = 20
|
|
StatusRedirect = 30
|
|
StatusPermanentRedirect = 31
|
|
StatusTemporaryFailure = 40
|
|
StatusServerUnavailable = 41
|
|
StatusCGIError = 42
|
|
StatusProxyError = 43
|
|
StatusSlowDown = 44
|
|
StatusPermanentFailure = 50
|
|
StatusNotFound = 51
|
|
StatusGone = 52
|
|
StatusProxyRequestRefused = 53
|
|
StatusBadRequest = 59
|
|
StatusCertificateRequired = 60
|
|
StatusCertificateNotAuthorized = 61
|
|
StatusCertificateNotValid = 62
|
|
)
|
|
|
|
// StatusClass returns the status class for the provided status code.
|
|
// 1x becomes 10, 2x becomes 20, and so on.
|
|
func StatusClass(code int) int {
|
|
return (code / 10) * 10
|
|
}
|
|
|
|
// StatusText returns a text for the provided status code.
|
|
// It returns the empty string if the status code is unknown.
|
|
func StatusText(code int) string {
|
|
switch code {
|
|
case StatusInput:
|
|
return "Input"
|
|
case StatusSensitiveInput:
|
|
return "Sensitive input"
|
|
case StatusSuccess:
|
|
return "Success"
|
|
case StatusRedirect:
|
|
return "Redirect"
|
|
case StatusPermanentRedirect:
|
|
return "Permanent redirect"
|
|
case StatusTemporaryFailure:
|
|
return "Temporary failure"
|
|
case StatusServerUnavailable:
|
|
return "Server unavailable"
|
|
case StatusCGIError:
|
|
return "CGI error"
|
|
case StatusProxyError:
|
|
return "Proxy error"
|
|
case StatusSlowDown:
|
|
return "Slow down"
|
|
case StatusPermanentFailure:
|
|
return "Permanent failure"
|
|
case StatusNotFound:
|
|
return "Not found"
|
|
case StatusGone:
|
|
return "Gone"
|
|
case StatusProxyRequestRefused:
|
|
return "Proxy request refused"
|
|
case StatusBadRequest:
|
|
return "Bad request"
|
|
case StatusCertificateRequired:
|
|
return "Certificate required"
|
|
case StatusCertificateNotAuthorized:
|
|
return "Certificate not authorized"
|
|
case StatusCertificateNotValid:
|
|
return "Certificate not valid"
|
|
}
|
|
return ""
|
|
}
|