public void rewrite(HttpRequest request, HttpResponseBuilder resp, Gadget gadget) { // Content fetched through the proxy can stipulate that it must be sanitized. if (request.isSanitizationRequested() && featureConfigFactory.get(request).shouldRewriteURL(request.getUri().toString())) { if (Strings.isNullOrEmpty(request.getRewriteMimeType())) { if (LOG.isLoggable(Level.INFO)) { LOG.logp(Level.INFO, classname, "rewrite", MessageKeys.REQUEST_TO_SANITIZE_WITHOUT_CONTENT,new Object[] {request.getUri()}); } resp.setContent(""); } else if (request.getRewriteMimeType().equalsIgnoreCase("text/css")) { rewriteProxiedCss(request, resp); } else if (request.getRewriteMimeType().toLowerCase().startsWith("image/")) { rewriteProxiedImage(request, resp); } else { if (LOG.isLoggable(Level.WARNING)) { LOG.logp(Level.WARNING, classname, "rewrite", MessageKeys.REQUEST_TO_SANITIZE_UNKNOW_CONTENT, new Object[] {request.getRewriteMimeType(),request.getUri()}); } resp.setContent(""); } } }
super.setUp(); final ContentRewriterFeature.Config overrideFeatureNoOverrideExpires = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", null, tags)); ContentRewriterFeature.Factory factoryNoOverrideExpires = new ContentRewriterFeature.Factory(null, null) { proxyUriManager, factoryNoOverrideExpires); final ContentRewriterFeature.Config overrideFeature = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", "3600", tags)); factory = new ContentRewriterFeature.Factory(null, null) { @Override
super.setUp(); final ContentRewriterFeature.Config overrideFeatureNoOverrideExpires = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", null, tags)); ContentRewriterFeature.Factory factoryNoOverrideExpires = new ContentRewriterFeature.Factory(null, null) { proxyUriManager, factoryNoOverrideExpires); final ContentRewriterFeature.Config overrideFeature = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", "3600", tags)); factory = new ContentRewriterFeature.Factory(null, null) { @Override
super.setUp(); final ContentRewriterFeature.Config overrideFeatureNoOverrideExpires = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", null, tags)); ContentRewriterFeature.Factory factoryNoOverrideExpires = new ContentRewriterFeature.Factory(null, null) { proxyUriManager, factoryNoOverrideExpires); final ContentRewriterFeature.Config overrideFeature = rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", "3600", tags)); factory = new ContentRewriterFeature.Factory(null, null) { @Override
public Config get(HttpRequest request) { GadgetSpec spec; final Uri gadgetUrl = request.getGadget(); final boolean isIgnoreCache = request.getIgnoreCache(); if (gadgetUrl != null) { try { GadgetContext context = new GadgetContext() { @Override public Uri getUrl() { return gadgetUrl; } @Override public boolean getIgnoreCache() { return isIgnoreCache; } }; spec = specFactory.getGadgetSpec(context); if (spec != null) { return get(spec); } } catch (GadgetException ge) { // Falls through to default. } } return defaultConfig.get(); }
public Config get(final Uri gadgetUri) { GadgetSpec spec; if (gadgetUri != null) { try { GadgetContext context = new GadgetContext() { @Override public Uri getUrl() { return gadgetUri; } }; spec = specFactory.getGadgetSpec(context); if (spec != null) { return get(spec); } } catch (GadgetException ge) { // Falls through to default. } } return defaultConfig; }
public void rewrite(HttpRequest request, HttpResponseBuilder resp) { // Content fetched through the proxy can stipulate that it must be sanitized. if (request.isSanitizationRequested() && featureConfigFactory.get(request).shouldRewriteURL(request.getUri().toString())) { if (StringUtils.isEmpty(request.getRewriteMimeType())) { LOG.log(Level.WARNING, "Request to sanitize without content type for " + request.getUri()); resp.setContent(""); } else if (request.getRewriteMimeType().equalsIgnoreCase("text/css")) { rewriteProxiedCss(request, resp); } else if (request.getRewriteMimeType().toLowerCase().startsWith("image/")) { rewriteProxiedImage(request, resp); } else { LOG.log(Level.WARNING, "Request to sanitize unknown content type " + request.getRewriteMimeType() + " for " + request.getUri()); resp.setContent(""); } } }
public Config get(final Uri gadgetUri) { GadgetSpec spec; if (gadgetUri != null) { try { GadgetContext context = new GadgetContext() { @Override public Uri getUrl() { return gadgetUri; } }; spec = specFactory.getGadgetSpec(context); if (spec != null) { return get(spec); } } catch (GadgetException ge) { // Falls through to default. } } return defaultConfig; }
public void rewrite(HttpRequest request, HttpResponseBuilder resp) { // Content fetched through the proxy can stipulate that it must be sanitized. if (request.isSanitizationRequested() && featureConfigFactory.get(request).shouldRewriteURL(request.getUri().toString())) { if (StringUtils.isEmpty(request.getRewriteMimeType())) { LOG.log(Level.WARNING, "Request to sanitize without content type for " + request.getUri()); resp.setContent(""); } else if (request.getRewriteMimeType().equalsIgnoreCase("text/css")) { rewriteProxiedCss(request, resp); } else if (request.getRewriteMimeType().toLowerCase().startsWith("image/")) { rewriteProxiedImage(request, resp); } else { LOG.log(Level.WARNING, "Request to sanitize unknown content type " + request.getRewriteMimeType() + " for " + request.getUri()); resp.setContent(""); } } }
@Before public void setUp() { config = EasyMock.createMock(ContainerConfig.class); factory = EasyMock.createMock(ContentRewriterFeature.Factory.class); featureConfig = EasyMock.createMock(ContentRewriterFeature.Config.class); ProxyUriManager proxyUriManager = new DefaultProxyUriManager(config, null); rewriter = new ImageResizeRewriter(proxyUriManager, factory); domImpl = new ParseModule.DOMImplementationProvider(); parser = new CajaHtmlParser(domImpl.get()); EasyMock.expect(factory.get(EasyMock.isA(HttpRequest.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(factory.get(EasyMock.isA(GadgetSpec.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_HOST_PARAM)) .andReturn("shindig.com").anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_PATH_PARAM)) .andReturn("/proxy").anyTimes(); EasyMock.expect(featureConfig.getExpires()).andReturn(new Integer(0)).anyTimes(); }
@Before public void setUp() { config = EasyMock.createMock(ContainerConfig.class); factory = EasyMock.createMock(ContentRewriterFeature.Factory.class); featureConfig = EasyMock.createMock(ContentRewriterFeature.Config.class); ProxyUriManager proxyUriManager = new DefaultProxyUriManager(config, null); rewriter = new ImageResizeRewriter(proxyUriManager, factory); domImpl = new ParseModule.DOMImplementationProvider(); parser = new CajaHtmlParser(domImpl.get()); EasyMock.expect(factory.get(EasyMock.isA(HttpRequest.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(factory.get(EasyMock.isA(GadgetSpec.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_HOST_PARAM)) .andReturn("shindig.com").anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_PATH_PARAM)) .andReturn("/proxy").anyTimes(); EasyMock.expect(featureConfig.getExpires()).andReturn(new Integer(0)).anyTimes(); }
public Config get(HttpRequest request) { return get(request.getGadget()); }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri); // Note that concat is including with proxy in order to prevent // proxying the rewritten concat url // Basically Url rewritters should all be in one dom walker. return Arrays.<Visitor>asList( new ConcatVisitor.Js(config, concatUriManager), new ConcatVisitor.Css(config, concatUriManager), new ProxyingVisitor(config, proxyUriManager, ProxyingVisitor.Tags.SCRIPT, ProxyingVisitor.Tags.STYLESHEET, ProxyingVisitor.Tags.EMBEDDED_IMAGES)); } }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri); // Note that concat is including with proxy in order to prevent // proxying the rewritten concat url // Basically Url rewritters should all be in one dom walker. return Arrays.<Visitor>asList( new ConcatVisitor.Js(config, concatUriManager), new ConcatVisitor.Css(config, concatUriManager), new ProxyingVisitor(config, proxyUriManager, ProxyingVisitor.Tags.SCRIPT, ProxyingVisitor.Tags.STYLESHEET, ProxyingVisitor.Tags.EMBEDDED_IMAGES)); } }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(context.getSpec()); // Note that concat is including with proxy in order to prevent // proxying the rewritten concat url // Basically Url rewritters should all be in one dom walker. return ImmutableList.of( new ConcatVisitor.Js(config, concatUriManager), new ConcatVisitor.Css(config, concatUriManager), new ProxyingVisitor(config, proxyUriManager, ProxyingVisitor.Tags.SCRIPT, ProxyingVisitor.Tags.STYLESHEET, ProxyingVisitor.Tags.EMBEDDED_IMAGES)); } }
public void rewrite(HttpRequest request, HttpResponseBuilder original, Gadget gadget) throws RewritingException { ContentRewriterFeature.Config config = rewriterFeatureFactory.get(request); if (!RewriterUtils.isCss(request, original)) { return; } String css = original.getContent(); StringWriter sw = new StringWriter((css.length() * 110) / 100); rewrite(new StringReader(css), request.getUri(), new UriMaker(proxyUriManager, config), sw, false, DomWalker.makeGadget(request).getContext()); original.setContent(sw.toString()); }
public Config get(HttpRequest request) { return get(request.getGadget()); }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri); return Arrays.<Visitor>asList(new ConcatVisitor.Css(config, concatUriManager)); } }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(context.getSpec()); return Arrays.asList( new CacheEnforcementVisitor(config, executor, cache, requestPipeline, CacheEnforcementVisitor.Tags.SCRIPT), new ConcatVisitor.Js(config, concatUriManager)); } }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(context.getSpec()); return Arrays.<Visitor>asList( new StyleTagExtractorVisitor(config, cssRewriter, proxyUriManager)); } }