public void handleRequest(HttpServerExchange exchange) throws Exception {
exchange.getResponseSender().send(exchange.getRelativePath());
}
}));
TestHttpClient client = new TestHttpClient();
try {
HttpGet get = new HttpGet(DefaultServer.getDefaultServerURL() + "/foo/a/b");
HttpResponse result = client.execute(get);
Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode());
String response = HttpClientUtils.readResponse(result);
Assert.assertEquals("get", result.getHeaders("type")[0].getValue());
Assert.assertEquals("always", result.getHeaders("someHeader")[0].getValue());
Assert.assertEquals("a", result.getHeaders("template")[0].getValue());
Assert.assertEquals("/foo/a/b", response);
get = new HttpGet(DefaultServer.getDefaultServerURL() + "/foo/a/b.css");
result = client.execute(get);
Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode());
response = HttpClientUtils.readResponse(result);
Assert.assertEquals("get", result.getHeaders("type")[0].getValue());
Assert.assertEquals("true", result.getHeaders("chained")[0].getValue());
Assert.assertEquals("always", result.getHeaders("someHeader")[0].getValue());
Assert.assertEquals("a", result.getHeaders("template")[0].getValue());
Assert.assertEquals("/foo/a/b.xcss", response);
get = new HttpGet(DefaultServer.getDefaultServerURL() + "/foo/a/b.redirect");
result = client.execute(get);
Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode());
response = HttpClientUtils.readResponse(result);
Assert.assertEquals("get", result.getHeaders("type")[0].getValue());
Assert.assertEquals("always", result.getHeaders("someHeader")[0].getValue());
Assert.assertEquals("a", result.getHeaders("template")[0].getValue());
Assert.assertEquals("/foo/a/b.redirected", response);
} finally {
client.getConnectionManager().shutdown();
}
}