diff --git a/src/main/java/net/thauvin/erik/httpstatus/StatusCode.java b/src/main/java/net/thauvin/erik/httpstatus/StatusCode.java
index 1982200..46e3468 100644
--- a/src/main/java/net/thauvin/erik/httpstatus/StatusCode.java
+++ b/src/main/java/net/thauvin/erik/httpstatus/StatusCode.java
@@ -139,7 +139,7 @@ public class StatusCode implements Serializable {
* @return true
if the status code is valid, false
otherwise.
*/
public boolean isValid() {
- return code >= 100 && code < 600;
+ return code == 783 || (code >= 100 && code < 600);
}
/**
diff --git a/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties b/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties
index c690ea9..a05fa40 100644
--- a/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties
+++ b/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties
@@ -2,6 +2,11 @@
101=Switching Protocols
102=Processing
103=Early Hints
+110=Response is Stale
+111=Revalidation Failed
+112=Disconnected Operation
+113=Heuristic Expiration
+199=Miscellaneous Warning
200=OK
201=Created
202=Accepted
@@ -11,15 +16,17 @@
206=Partial Content
207=Multi-Status
208=Already Reported
+214=Transformation Applied
218=This is fine
226=IM Used
+299=Miscellaneous Persistent Warning
300=Multiple Choices
301=Moved Permanently
302=Found/Moved Temporarily
303=See Other
304=Not Modified
305=Use Proxy
-306=Switch Proxy
+306=Unused
307=Temporary Redirect
308=Permanent Redirect
400=Bad Request
@@ -35,18 +42,19 @@
410=Gone
411=Length Required
412=Precondition Failed
-413=Request Entity/Payload Too Large
-414=Request-URI Too Long
+413=Payload Too Large
+414=URI Too Long
415=Unsupported Media Type
-416=Requested Range Not Satisfiable
+416=Range Not Satisfiable
417=Expectation Failed
418=I'm A Teapot
419=Insufficient Space on Resource
420=Method Failure
421=Misdirected Request
-422=Unprocessable Entity
+422=Unprocessable Content
423=Locked
424=Failed Dependency
+425=Too Early
426=Upgrade Required
428=Precondition Required
429=Too Many Requests
@@ -61,7 +69,7 @@
463=X-Forwarded-For Header with More than 30 IP Addresses
494=Request Header Too Large
495=SSL Certificate Error
-496=No SSL Certificate
+496=SSL Certificate Required
497=HTTP Request Sent to HTTPS Port
498=Token Expired/Invalid
499=Client Closed Request
@@ -79,7 +87,7 @@
511=Network Authentication Required
520=Unknown Error
521=Web Server Is Down
-522=Origin Connection Time-out
+522=Connection Timed Out
523=Origin Is Unreachable
524=A Timeout Occurred
525=SSL Handshake Failed
@@ -87,5 +95,8 @@
527=Railgun Error
529=Site is overloaded
530=Site is frozen
+540=Temporarily Disabled
+561=Unauthorized
598=Network Read Timeout Error
-599=Network Connect Timeout Error
\ No newline at end of file
+599=Network Connect Timeout Error
+783=Unexpected Token
diff --git a/src/test/java/net/thauvin/erik/httpstatus/StatusCodeTest.java b/src/test/java/net/thauvin/erik/httpstatus/StatusCodeTest.java
index 7ecd692..b494715 100644
--- a/src/test/java/net/thauvin/erik/httpstatus/StatusCodeTest.java
+++ b/src/test/java/net/thauvin/erik/httpstatus/StatusCodeTest.java
@@ -59,9 +59,9 @@ class StatusCodeTest {
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.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));
}
@@ -75,8 +75,8 @@ class StatusCodeTest {
assertThat(statusCode.isClientError()).as(code + " is client error").isFalse();
assertThat(statusCode.isServerError()).as(code + " is server error").isFalse();
assertThat(statusCode.isError()).as(code + " is error").isFalse();
- assertThat(statusCode.isValid()).as("600 is invalid").isFalse();
- assertThat(statusCode.getReason()).as(code + "reason phrase is not null.").isNull();
+ assertThat(statusCode.isValid()).as(code + " is invalid").isFalse();
+ assertThat(statusCode.getReason()).as(code + " reason phrase is not null.").isNull();
}
statusCode = new StatusCode(900);