blob: 86be694f365a314dd601b26349d9413c0182954f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
(define-module (web http status-codes)
:use-module (srfi srfi-88)
:export (http-status-codes
http-status-phrase
http-status-line))
;;; https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
;;; DAV: RFC4918
(define http-status-codes
'((100 . "Continue")
(101 . "Switching Protocols")
(102 . "Processing") ;RFC2518
(103 . "Early Hints") ;RFC8297
(200 . "OK")
(201 . "Created")
(202 . "Accepted")
(203 . "Non-Authoritative Information")
(204 . "No Content")
(205 . "Reset Content")
(206 . "Partial Content")
(207 . "Multi-Status") ;DAV
(208 . "Already Reported") ;RFC5842
(226 . "IM Used") ;RFC3229
(300 . "Multiple Choices")
(301 . "Moved Permanently")
(302 . "Found")
(303 . "See Other")
(304 . "Not Modified")
(305 . "Use Proxy")
(306 . "(Unused)")
(307 . "Temporary Redirect")
(308 . "Permanent Redirect")
(400 . "Bad Request")
(401 . "Unauthorized")
(402 . "Payment Required")
(403 . "Forbidden")
(404 . "Not Found")
(405 . "Method Not Allowed")
(406 . "Not Acceptable")
(407 . "Proxy Authentication Required")
(408 . "Request Timeout")
(409 . "Conflict")
(410 . "Gone")
(411 . "Length Required")
(412 . "Precondition Failed") ;Extended by DAV
(413 . "Request Entity Too Large")
(414 . "Request-URI Too Long") ;Extended by DAV
(415 . "Unsupported Media Type")
(416 . "Requested Range Not Satisfiable")
(417 . "Expectation Failed")
(418 . "I'm a teapot") ;RFC7168
(421 . "Misdirection Request")
(422 . "Unprocessable Content")
(423 . "Locked") ;DAV
(424 . "Failed Dependency") ;DAV
(425 . "Too Early") ;RFC8470
(426 . "Upgrade Required")
(428 . "Precondition Failed") ;RFC6585
(429 . "Too Many Requests") ;RFC6585
(431 . "Request Header Fields Too Large") ;RFC6585
(451 . "Unavailable For Legal Reasons") ;RFC7225
(500 . "Internal Server Error")
(501 . "Not Implemented")
(502 . "Bad Gateway")
(503 . "Service Unavailable")
(504 . "Gateway Timeout")
(505 . "HTTP Version Not Supported")
(506 . "Variant Also Negotiates") ;RFC2295
(507 . "Insufficient Storage") ;DAV
(508 . "Loop Detected") ;RFC5842
(510 . "Not Extended") ;RFC2774 (OBSOLETED)
(511 . "Network Authentication Required") ;RFC6585
))
(define (http-status-phrase code)
(or (assoc-ref http-status-codes code)
""))
(define* (http-status-line code optional: msg)
(format #f "HTTP/1.1 ~a ~a" code
(or msg (http-status-phrase code))))
|