|
26 | 26 | import java.net.http.HttpRequest.BodyPublishers;
|
27 | 27 | import java.net.http.HttpResponse.BodySubscribers;
|
28 | 28 | import java.nio.charset.StandardCharsets;
|
| 29 | +import java.nio.file.Files; |
| 30 | +import java.nio.file.Paths; |
29 | 31 | import java.security.SecureRandom;
|
30 | 32 | import java.security.cert.Certificate;
|
31 | 33 | import java.time.Duration;
|
@@ -319,6 +321,35 @@ public void keepAliveTimeout() {
|
319 | 321 | }
|
320 | 322 | }
|
321 | 323 |
|
| 324 | + @Test(dataProvider = "schemes") |
| 325 | + public void largeCSS(String scheme) throws Exception { |
| 326 | + var css = Files.readString(Paths.get("src/test/resources/fontawesome-6.0.0.min.css"), StandardCharsets.UTF_8); |
| 327 | + |
| 328 | + HTTPHandler handler = (req, res) -> { |
| 329 | + res.setStatus(200); |
| 330 | + |
| 331 | + try { |
| 332 | + var out = res.getOutputStream(); |
| 333 | + out.write(css.getBytes(StandardCharsets.UTF_8)); |
| 334 | + out.close(); |
| 335 | + } catch (Throwable t) { |
| 336 | + System.out.println(t); |
| 337 | + } |
| 338 | + }; |
| 339 | + |
| 340 | + try (var client = makeClient(scheme, null); var ignore = makeServer(scheme, handler).start()) { |
| 341 | + URI uri = makeURI(scheme, ""); |
| 342 | + HttpRequest request = HttpRequest.newBuilder() |
| 343 | + .uri(uri) |
| 344 | + .GET() |
| 345 | + .build(); |
| 346 | + |
| 347 | + var response = client.send(request, r -> BodySubscribers.ofString(StandardCharsets.UTF_8)); |
| 348 | + assertEquals(response.statusCode(), 200); |
| 349 | + assertEquals(response.body(), css); |
| 350 | + } |
| 351 | + } |
| 352 | + |
322 | 353 | @Test
|
323 | 354 | public void logger() {
|
324 | 355 | // Test replacement values and ensure we are handling special regex characters.
|
|
0 commit comments