Added printing of status code by response classes. Close #8
This commit is contained in:
parent
7b3e4adfc8
commit
1fca084fc9
3 changed files with 37 additions and 11 deletions
11
README.md
11
README.md
|
@ -302,3 +302,14 @@ $ java -jar httpstatus-1.1.0.jar
|
|||
226: IM Used
|
||||
...
|
||||
```
|
||||
You can also print status codes by [response classes](https://www.rfc-editor.org/rfc/rfc9110.html#name-status-codes):
|
||||
|
||||
```sh
|
||||
$ java -jar httpstatus-1.1.0.jar 2xx
|
||||
200: OK
|
||||
201: Created
|
||||
202: Accepted
|
||||
203: Non-Authoritative Information
|
||||
204: No Content
|
||||
...
|
||||
```
|
|
@ -100,9 +100,18 @@ public final class Reasons {
|
|||
public static void main(final String... args) {
|
||||
if (args.length >= 1) {
|
||||
for (final String key : args) {
|
||||
final String value = REASON_PHRASES.get(key);
|
||||
if (value != null) {
|
||||
System.out.println(key + ": " + value);
|
||||
if (key.endsWith("xx")) {
|
||||
var cat = key.charAt(0);
|
||||
REASON_PHRASES.forEach((k, v) -> {
|
||||
if (k.charAt(0) == cat) {
|
||||
System.out.println(k + ": " + v);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
final String value = REASON_PHRASES.get(key);
|
||||
if (value != null) {
|
||||
System.out.println(key + ": " + value);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -71,28 +71,34 @@ class ReasonsMainTest {
|
|||
@Test
|
||||
void testMain() {
|
||||
Reasons.main("401");
|
||||
assertThat(outContent.toString().contains(Reasons.getReasonPhrase("401"))).as("401").isTrue();
|
||||
assertThat(outContent.toString().contains("500")).as("401 no 500").isFalse();
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase("401")).as("401");
|
||||
assertThat(outContent.toString()).doesNotContain("500").as("401 no 500");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMainAll() {
|
||||
Reasons.main();
|
||||
assertThat(outContent.toString().contains(Reasons.getReasonPhrase(301))).as("301").isTrue();
|
||||
assertThat(outContent.toString().contains(Reasons.getReasonPhrase(404))).as("404").isTrue();
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase(301)).as("301");
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase(404)).as("404");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMainArgs() {
|
||||
Reasons.main("500", "302");
|
||||
assertThat(outContent.toString().contains(Reasons.getReasonPhrase("500"))).as("500 (302)").isTrue();
|
||||
assertThat(outContent.toString().contains(Reasons.getReasonPhrase("302"))).as("(500) 302").isTrue();
|
||||
assertThat(outContent.toString().contains("404")).as("500/302 not 404").isFalse();
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase("500")).as("500 (302)");
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase("302")).as("(500) 302");
|
||||
assertThat(outContent.toString()).doesNotContain("404").as("500/302 not 404");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMainArgsClass() {
|
||||
Reasons.main("2xx");
|
||||
assertThat(outContent.toString()).contains(Reasons.getReasonPhrase("200")).as("2xx");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMainInvalid() {
|
||||
Reasons.main("aaa");
|
||||
assertThat(outContent.toString().isEmpty()).as("invalid argument: aaa").isTrue();
|
||||
assertThat(outContent.toString()).as("invalid argument: aaa").isEmpty();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue