use of com.enonic.xp.web.WebRequest in project xp by enonic.
the class EndpointHandlerTest method testPreRestPath.
@Test
public void testPreRestPath() {
final WebRequest webRequest = new WebRequest();
webRequest.setEndpointPath("/_/endpoint/a/b");
webRequest.setRawPath("/site/www/_/endpoint/a/b");
assertEquals("/site/www/_/endpoint", endpointHandler.findPreRestPath(webRequest));
webRequest.setEndpointPath("/_/endpoint/");
webRequest.setRawPath("/site/www/_/endpoint/");
assertEquals("/site/www/_/endpoint", endpointHandler.findPreRestPath(webRequest));
webRequest.setEndpointPath("/_/endpoint");
webRequest.setRawPath("/site/www/_/endpoint");
assertEquals("/site/www/_/endpoint", endpointHandler.findPreRestPath(webRequest));
}
use of com.enonic.xp.web.WebRequest in project xp by enonic.
the class EndpointHandlerTest method testCanHandle.
@Test
public void testCanHandle() {
final WebRequest webRequest = new WebRequest();
webRequest.setEndpointPath("/_/endpoint/a/b");
assertTrue(endpointHandler.canHandle(webRequest));
webRequest.setEndpointPath("/_/endpoint/");
assertTrue(endpointHandler.canHandle(webRequest));
webRequest.setEndpointPath("/_/endpoint");
assertTrue(endpointHandler.canHandle(webRequest));
webRequest.setEndpointPath("/_/otherendpoint");
assertFalse(endpointHandler.canHandle(webRequest));
webRequest.setEndpointPath("/_/endpointbis");
assertFalse(endpointHandler.canHandle(webRequest));
}
use of com.enonic.xp.web.WebRequest in project xp by enonic.
the class WebDispatcherServlet method newWebRequest.
private WebRequest newWebRequest(final HttpServletRequest req) throws IOException {
final WebRequest result = new WebRequest();
result.setMethod(HttpMethod.valueOf(req.getMethod().toUpperCase()));
final String rawPath = req.getPathInfo();
result.setRawPath(rawPath);
result.setEndpointPath(findEndpointPath(rawPath));
result.setRawRequest(req);
result.setContentType(req.getContentType());
result.setBody(RequestBodyReader.readBody(req));
result.setScheme(req.getScheme());
result.setHost(req.getServerName());
result.setPort(req.getServerPort());
result.setRemoteAddress(req.getRemoteAddr());
result.setPath(ServletRequestUrlHelper.getPath(req));
result.setUrl(ServletRequestUrlHelper.getFullUrl(req));
setParameters(req, result);
setHeaders(req, result);
setCookies(req, result);
return result;
}
use of com.enonic.xp.web.WebRequest in project xp by enonic.
the class ResponseSerializerTest method serializeBodyString.
@Test
public void serializeBodyString() throws Exception {
final WebRequest req = new WebRequest();
req.setMethod(HttpMethod.GET);
final String string_body = "String body";
final WebResponse resp = WebResponse.create().status(HttpStatus.ACCEPTED).contentType(MediaType.PLAIN_TEXT_UTF_8).header("header-test", "header-value").cookie(new Cookie("cookie-name", "cookie-value")).body(string_body).build();
final ResponseSerializer serializer = new ResponseSerializer(req, resp);
final HttpServletResponse httpResponse = mock(HttpServletResponse.class);
final ServletOutputStream servletOutputStream = mock(ServletOutputStream.class);
when(httpResponse.getOutputStream()).thenReturn(servletOutputStream);
serializer.serialize(httpResponse);
verify(httpResponse).setHeader("header-test", "header-value");
verify(httpResponse).setStatus(202);
verify(httpResponse).setContentType("text/plain; charset=utf-8");
verify(httpResponse).setContentLength(11);
verify(servletOutputStream).write(string_body.getBytes(StandardCharsets.UTF_8));
}
use of com.enonic.xp.web.WebRequest in project xp by enonic.
the class ResponseSerializerTest method serializeBodyResource.
@Test
public void serializeBodyResource() throws Exception {
final ResourceKey resourceKey = ResourceKey.from("myapp:/site/test/view/body_file.txt");
final URL resourceUrl = ResponseSerializerTest.class.getResource("body_file.txt");
final WebRequest req = new WebRequest();
req.setMethod(HttpMethod.GET);
final WebResponse resp = WebResponse.create().status(HttpStatus.ACCEPTED).contentType(MediaType.PLAIN_TEXT_UTF_8).header("header-test", "header-value").cookie(new Cookie("cookie-name", "cookie-value")).body(new UrlResource(resourceKey, resourceUrl)).build();
final ResponseSerializer serializer = new ResponseSerializer(req, resp);
final HttpServletResponse httpResponse = mock(HttpServletResponse.class);
final ServletOutputStream servletOutputStream = mock(ServletOutputStream.class);
when(httpResponse.getOutputStream()).thenReturn(servletOutputStream);
serializer.serialize(httpResponse);
verify(httpResponse).setHeader("header-test", "header-value");
verify(httpResponse).setStatus(202);
verify(httpResponse).setContentType("text/plain; charset=utf-8");
verify(httpResponse).setContentLength(11);
verify(servletOutputStream).write(any(byte[].class));
}
Aggregations