HttpVersionParsingTest Class — netty Architecture
Architecture documentation for the HttpVersionParsingTest class in HttpVersionParsingTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 00ebfe61_03bc_fd95_3e17_ac055b32e5e3["HttpVersionParsingTest"] 3e341ac1_6015_adf9_2fe7_6fcdfc4563d7["HttpVersionParsingTest.java"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|defined in| 3e341ac1_6015_adf9_2fe7_6fcdfc4563d7 e5bc45bd_116a_e1bd_4cdb_f233e34d450c["testStandardVersions()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| e5bc45bd_116a_e1bd_4cdb_f233e34d450c ac98eea9_2121_ab58_b340_a88d88964027["testLowerCaseProtocolNameNonStrict()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| ac98eea9_2121_ab58_b340_a88d88964027 cf538e31_f3a7_8f72_2a54_8a199cb39849["testMixedCaseProtocolNameNonStrict()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| cf538e31_f3a7_8f72_2a54_8a199cb39849 4c8679f6_c055_2937_eaa9_0b60541a2f2c["testCustomLowerCaseProtocolNonStrict()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 4c8679f6_c055_2937_eaa9_0b60541a2f2c 749c1496_bbed_67e3_ee8e_8b716584f198["testCustomVersionNonStrict()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 749c1496_bbed_67e3_ee8e_8b716584f198 4703c616_674b_d96a_ce42_e7752373db12["testCustomVersionStrict()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 4703c616_674b_d96a_ce42_e7752373db12 2f764d8e_67f0_baa9_93fa_8a04e65de402["testCustomVersionStrictFailsOnLongVersion()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 2f764d8e_67f0_baa9_93fa_8a04e65de402 7f041934_3ed5_69ce_6624_2ae2814f442f["testInvalidFormatMissingSlash()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 7f041934_3ed5_69ce_6624_2ae2814f442f 5f9d4ccc_4ab9_6ce3_92e0_a5cd447e36e1["testInvalidFormatWhitespaceInProtocol()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 5f9d4ccc_4ab9_6ce3_92e0_a5cd447e36e1 0652bc57_7956_24a8_a193_b4162c921b45["httpVersionMustRejectIllegalTokens()"] 00ebfe61_03bc_fd95_3e17_ac055b32e5e3 -->|method| 0652bc57_7956_24a8_a193_b4162c921b45
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/HttpVersionParsingTest.java lines 27–162
public class HttpVersionParsingTest {
@Test
void testStandardVersions() {
HttpVersion v10 = HttpVersion.valueOf("HTTP/1.0");
HttpVersion v11 = HttpVersion.valueOf("HTTP/1.1");
assertSame(HttpVersion.HTTP_1_0, v10);
assertSame(HttpVersion.HTTP_1_1, v11);
assertEquals("HTTP", v10.protocolName());
assertEquals(1, v10.majorVersion());
assertEquals(0, v10.minorVersion());
assertEquals("HTTP", v11.protocolName());
assertEquals(1, v11.majorVersion());
assertEquals(1, v11.minorVersion());
}
@Test
void testLowerCaseProtocolNameNonStrict() {
HttpVersion version = HttpVersion.valueOf("http/1.1");
assertEquals("HTTP", version.protocolName());
assertEquals(1, version.majorVersion());
assertEquals(1, version.minorVersion());
assertEquals("HTTP/1.1", version.text());
}
@Test
void testMixedCaseProtocolNameNonStrict() {
HttpVersion version = HttpVersion.valueOf("hTtP/1.0");
assertEquals("HTTP", version.protocolName());
assertEquals(1, version.majorVersion());
assertEquals(0, version.minorVersion());
assertEquals("HTTP/1.0", version.text());
}
@Test
void testCustomLowerCaseProtocolNonStrict() {
HttpVersion version = HttpVersion.valueOf("mqtt/5.0");
assertEquals("MQTT", version.protocolName());
assertEquals(5, version.majorVersion());
assertEquals(0, version.minorVersion());
assertEquals("MQTT/5.0", version.text());
}
@Test
void testCustomVersionNonStrict() {
HttpVersion version = HttpVersion.valueOf("MyProto/2.3");
assertEquals("MYPROTO", version.protocolName()); // uppercased
assertEquals(2, version.majorVersion());
assertEquals(3, version.minorVersion());
assertEquals("MYPROTO/2.3", version.text());
}
@Test
void testCustomVersionStrict() {
HttpVersion version = new HttpVersion("HTTP/1.1", true, true);
assertEquals("HTTP", version.protocolName());
assertEquals(1, version.majorVersion());
assertEquals(1, version.minorVersion());
}
@Test
void testCustomVersionStrictFailsOnLongVersion() {
IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () ->
new HttpVersion("HTTP/10.1", true, true)
);
assertTrue(ex.getMessage().contains("invalid version format"));
}
@Test
void testInvalidFormatMissingSlash() {
assertThrows(IllegalArgumentException.class, () ->
HttpVersion.valueOf("HTTP1.1")
);
}
@Test
void testInvalidFormatWhitespaceInProtocol() {
assertThrows(IllegalArgumentException.class, () ->
Source
Frequently Asked Questions
What is the HttpVersionParsingTest class?
HttpVersionParsingTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpVersionParsingTest.java.
Where is HttpVersionParsingTest defined?
HttpVersionParsingTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpVersionParsingTest.java at line 27.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free