Added more status codes from Wikipedia, etc. Closes #9

This commit is contained in:
Erik C. Thauvin 2024-06-07 12:17:11 -07:00
parent 91e19d325e
commit 8c79c0e17a
Signed by: erik
GPG key ID: 776702A6A2DA330E
3 changed files with 24 additions and 13 deletions

View file

@ -139,7 +139,7 @@ public class StatusCode implements Serializable {
* @return <code>true</code> if the status code is valid, <code>false</code> otherwise. * @return <code>true</code> if the status code is valid, <code>false</code> otherwise.
*/ */
public boolean isValid() { public boolean isValid() {
return code >= 100 && code < 600; return code == 783 || (code >= 100 && code < 600);
} }
/** /**

View file

@ -2,6 +2,11 @@
101=Switching Protocols 101=Switching Protocols
102=Processing 102=Processing
103=Early Hints 103=Early Hints
110=Response is Stale
111=Revalidation Failed
112=Disconnected Operation
113=Heuristic Expiration
199=Miscellaneous Warning
200=OK 200=OK
201=Created 201=Created
202=Accepted 202=Accepted
@ -11,15 +16,17 @@
206=Partial Content 206=Partial Content
207=Multi-Status 207=Multi-Status
208=Already Reported 208=Already Reported
214=Transformation Applied
218=This is fine 218=This is fine
226=IM Used 226=IM Used
299=Miscellaneous Persistent Warning
300=Multiple Choices 300=Multiple Choices
301=Moved Permanently 301=Moved Permanently
302=Found/Moved Temporarily 302=Found/Moved Temporarily
303=See Other 303=See Other
304=Not Modified 304=Not Modified
305=Use Proxy 305=Use Proxy
306=Switch Proxy 306=Unused
307=Temporary Redirect 307=Temporary Redirect
308=Permanent Redirect 308=Permanent Redirect
400=Bad Request 400=Bad Request
@ -35,18 +42,19 @@
410=Gone 410=Gone
411=Length Required 411=Length Required
412=Precondition Failed 412=Precondition Failed
413=Request Entity/Payload Too Large 413=Payload Too Large
414=Request-URI Too Long 414=URI Too Long
415=Unsupported Media Type 415=Unsupported Media Type
416=Requested Range Not Satisfiable 416=Range Not Satisfiable
417=Expectation Failed 417=Expectation Failed
418=I'm A Teapot 418=I'm A Teapot
419=Insufficient Space on Resource 419=Insufficient Space on Resource
420=Method Failure 420=Method Failure
421=Misdirected Request 421=Misdirected Request
422=Unprocessable Entity 422=Unprocessable Content
423=Locked 423=Locked
424=Failed Dependency 424=Failed Dependency
425=Too Early
426=Upgrade Required 426=Upgrade Required
428=Precondition Required 428=Precondition Required
429=Too Many Requests 429=Too Many Requests
@ -61,7 +69,7 @@
463=X-Forwarded-For Header with More than 30 IP Addresses 463=X-Forwarded-For Header with More than 30 IP Addresses
494=Request Header Too Large 494=Request Header Too Large
495=SSL Certificate Error 495=SSL Certificate Error
496=No SSL Certificate 496=SSL Certificate Required
497=HTTP Request Sent to HTTPS Port 497=HTTP Request Sent to HTTPS Port
498=Token Expired/Invalid 498=Token Expired/Invalid
499=Client Closed Request 499=Client Closed Request
@ -79,7 +87,7 @@
511=Network Authentication Required 511=Network Authentication Required
520=Unknown Error 520=Unknown Error
521=Web Server Is Down 521=Web Server Is Down
522=Origin Connection Time-out 522=Connection Timed Out
523=Origin Is Unreachable 523=Origin Is Unreachable
524=A Timeout Occurred 524=A Timeout Occurred
525=SSL Handshake Failed 525=SSL Handshake Failed
@ -87,5 +95,8 @@
527=Railgun Error 527=Railgun Error
529=Site is overloaded 529=Site is overloaded
530=Site is frozen 530=Site is frozen
540=Temporarily Disabled
561=Unauthorized
598=Network Read Timeout Error 598=Network Read Timeout Error
599=Network Connect Timeout Error 599=Network Connect Timeout Error
783=Unexpected Token

View file

@ -59,9 +59,9 @@ class StatusCodeTest {
assertThat(statusCode.isClientError()).as(code + " is client error").isEqualTo(code >= 400 && code < 500); assertThat(statusCode.isClientError()).as(code + " is client error").isEqualTo(code >= 400 && code < 500);
assertThat(statusCode.isServerError()).as(code + " is server error").isEqualTo(code >= 500 && code < 600); assertThat(statusCode.isServerError()).as(code + " is server error").isEqualTo(code >= 500 && code < 600);
assertThat(statusCode.isError()).as(code + " is error").isEqualTo(code >= 400 && code < 600); assertThat(statusCode.isError()).as(code + " is error").isEqualTo(code >= 400 && code < 600);
assertThat(statusCode.isValid()).as(code + "is valid").isTrue(); assertThat(statusCode.isValid()).as(code + " is valid").isTrue();
assertThat(statusCode.getReason()).as(code + "reason phrase is not valid") assertThat(statusCode.getReason()).as(code + " reason phrase is not valid")
.isEqualTo(Reasons.getReasonPhrase(code)); .isEqualTo(Reasons.getReasonPhrase(code));
} }
@ -75,8 +75,8 @@ class StatusCodeTest {
assertThat(statusCode.isClientError()).as(code + " is client error").isFalse(); assertThat(statusCode.isClientError()).as(code + " is client error").isFalse();
assertThat(statusCode.isServerError()).as(code + " is server error").isFalse(); assertThat(statusCode.isServerError()).as(code + " is server error").isFalse();
assertThat(statusCode.isError()).as(code + " is error").isFalse(); assertThat(statusCode.isError()).as(code + " is error").isFalse();
assertThat(statusCode.isValid()).as("600 is invalid").isFalse(); assertThat(statusCode.isValid()).as(code + " is invalid").isFalse();
assertThat(statusCode.getReason()).as(code + "reason phrase is not null.").isNull(); assertThat(statusCode.getReason()).as(code + " reason phrase is not null.").isNull();
} }
statusCode = new StatusCode(900); statusCode = new StatusCode(900);