From 8c79c0e17a6c9b4ccaf2a292a0ea751f3a005337 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 7 Jun 2024 12:17:11 -0700 Subject: [PATCH] Added more status codes from Wikipedia, etc. Closes #9 --- .../thauvin/erik/httpstatus/StatusCode.java | 2 +- .../erik/httpstatus/reasons.properties | 27 +++++++++++++------ .../erik/httpstatus/StatusCodeTest.java | 8 +++--- 3 files changed, 24 insertions(+), 13 deletions(-) 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);