/** * @param req * @return The rendering context, if appropriate params are set, or null. */ private static RenderingContext getRenderingContext(HttpServletRequest req) { String c = req.getParameter(UriCommon.Param.CONTAINER_MODE.getKey()); if (c == null) { return null; } return RenderingContext.valueOfParam(c); }
@Override public String getRepository() { String repository = request.getHeader(UriCommon.Param.REPOSITORY_ID.getKey()); if (repository == null) { return super.getRepository(); } return repository; }
public static boolean isHtml(HttpRequest request, HttpResponseBuilder original) { String mimeType = getMimeType(request, original); return mimeType != null && (mimeType.contains("html")) && maybeAcceptHtml(request.getParam(UriCommon.Param.HTML_TAG_CONTEXT.getKey())); }
@Test public void testSetResponseHeadersForceParamInvalid() throws Exception { HttpResponse results = new HttpResponseBuilder().create(); expect(request.getParameter(Param.REFRESH.getKey())).andReturn("foo").anyTimes(); replay(); try { MakeRequestHandler.setResponseHeaders(request, recorder, results); } catch (GadgetException e) { assertEquals(GadgetException.Code.INVALID_PARAMETER, e.getCode()); } }
@Test public void testGetRequestWithRefresh() throws Exception { expect(request.getParameter(Param.REFRESH.getKey())).andReturn("120").anyTimes(); Capture<HttpRequest> requestCapture = new Capture<HttpRequest>(); expect(pipeline.execute(capture(requestCapture))).andReturn(new HttpResponse(RESPONSE_BODY)); replay(); handler.fetch(request, recorder); HttpRequest httpRequest = requestCapture.getValue(); assertEquals("public,max-age=120", recorder.getHeader("Cache-Control")); assertEquals(120, httpRequest.getCacheTtl()); }
/** * Should the gadget content be sanitized on output * @return */ public boolean sanitizeOutput() { return (getCurrentView() != null && getCurrentView().getType() == View.ContentType.HTML_SANITIZED) || "1".equals(getContext().getParameter(UriCommon.Param.SANITIZE.getKey())); } }
private HttpRequest getMockRequest(Integer width, Integer height, Integer quality, boolean noExpand) { HttpRequest request = mockControl.createMock(HttpRequest.class); expect(request.getUri()).andReturn(IMAGE_URL); expect(request.getParamAsInteger(Param.RESIZE_QUALITY.getKey())).andReturn(quality); expect(request.getParamAsInteger(Param.RESIZE_WIDTH.getKey())).andReturn(width); expect(request.getParamAsInteger(Param.RESIZE_HEIGHT.getKey())).andReturn(height); expect(request.getParam(Param.NO_EXPAND.getKey())).andReturn(noExpand ? "1" : null).anyTimes(); return request; }
@Test public void validateBadTypeUri() { DefaultConcatUriManager manager = makeManager("host.com", "/path", null, null); ConcatUriManager.ConcatUri validated = manager.process( Uri.parse("http://host.com/path?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&1=http://legit.com/1.dat&" + Param.TYPE.getKey() + "=NOTATYPE")); assertEquals(UriStatus.BAD_URI, validated.getStatus()); }
@Test public void validatePathMismatchStrict() { DefaultConcatUriManager manager = makeManager("host.com", "/path", null, null); manager.setUseStrictParsing(true); ConcatUriManager.ConcatUri validated = manager.process(Uri.parse("http://host.com/another?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&type=css")); assertEquals(UriStatus.BAD_URI, validated.getStatus()); }
@Test(expected = GadgetException.class) public void missingContainerParamQuery() throws Exception { String host = "host.com"; String path = "/proxy/path"; DefaultProxyUriManager manager = makeManager(host, path, null); Uri testUri = new UriBuilder().setAuthority(host).setPath(path) .addQueryParameter(Param.URL.getKey(), "http://foo.com").toUri(); manager.process(testUri); }
@Test(expected = GadgetException.class) public void mismatchedHostStrict() throws Exception { String host = "host.com"; String path = "/proxy/path"; DefaultProxyUriManager manager = makeManager("foo" + host, path, null); manager.setUseStrictParsing(true); Uri testUri = new UriBuilder().setAuthority(host).setPath(path) .addQueryParameter(Param.URL.getKey(), "http://foo.com").toUri(); manager.process(testUri); }
@Test public void validateNullTypeUri() { DefaultConcatUriManager manager = makeManager("host.com", "/path", null, null); ConcatUriManager.ConcatUri validated = manager.process( Uri.parse("http://host.com/path?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&1=http://legit.com/1.dat")); assertEquals(UriStatus.BAD_URI, validated.getStatus()); }
@Test public void validateInvalidChildUri() { DefaultConcatUriManager manager = makeManager("host.com", "/path", null, null); ConcatUriManager.ConcatUri validated = manager.process( Uri.parse("http://host.com/path?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&1=!!!")); assertEquals(UriStatus.BAD_URI, validated.getStatus()); }
public ProxyUri process(Uri uri) throws GadgetException { String proxied = uri.getQueryParameter(Param.URL.getKey()); ProxyUri proxyUri = new ProxyUri(expectStatus, proxied != null ? Uri.parse(proxied) : null, uri); proxyUri.setHtmlTagContext(uri.getQueryParameter(Param.HTML_TAG_CONTEXT.getKey())); return proxyUri; }
@Test public void renderWithBadTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn(""); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=300", recorder.getHeader("Cache-Control")); }
@Test public void testIsHtmlReturnsTrueIfHtmlAcceptingTagContext() throws Exception { HttpRequest req = new HttpRequest(Uri.parse("http://www.example.org/")); req.setParam(UriCommon.Param.HTML_TAG_CONTEXT.getKey(), "link"); HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Content-Type", "text/html"); assertTrue(RewriterUtils.isHtml(req, builder)); req.setParam(UriCommon.Param.HTML_TAG_CONTEXT.getKey(), "iframe"); assertTrue(RewriterUtils.isHtml(req, builder)); } }
@SuppressWarnings("deprecation") @Test public void testGetContainerNoParam() { expect(request.getParameter(Param.CONTAINER.getKey())).andReturn(null); expect(request.getParameter(Param.SYND.getKey())).andReturn(null); replay(); assertEquals(ContainerConfig.DEFAULT_CONTAINER, MakeRequestHandler.getContainer(request)); }
@SuppressWarnings("deprecation") @Test public void testGetContainerWithSynd() { expect(request.getParameter(Param.CONTAINER.getKey())).andReturn(null); expect(request.getParameter(Param.SYND.getKey())).andReturn("syndtainer"); replay(); assertEquals("syndtainer", MakeRequestHandler.getContainer(request)); }
/** * Extracts the container name from the request. */ @SuppressWarnings("deprecation") protected static String getContainer(HttpServletRequest request) { String container = request.getParameter(Param.CONTAINER.getKey()); if (container == null) { container = request.getParameter(Param.SYND.getKey()); } return container != null ? container : ContainerConfig.DEFAULT_CONTAINER; }
public ProxyUri process(Uri uri) throws GadgetException { String proxied = uri.getQueryParameter(Param.URL.getKey()); ProxyUri proxyUri = new ProxyUri(expectStatus, proxied != null ? Uri.parse(proxied) : null, uri); proxyUri.setHtmlTagContext(uri.getQueryParameter(Param.HTML_TAG_CONTEXT.getKey())); return proxyUri; }