@Override public void rewrite(HttpRequest request, HttpResponseBuilder original, Gadget gadget) { super.rewrite(request, original, gadget); if (!Strings.isNullOrEmpty(contentToRewrite)) { original.setResponse(contentToRewrite.getBytes()); } } }
protected HttpResponseBuilder createResponseBuilder(String resource, String mimeType) throws IOException { byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(resource)); return new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(bytes); } }
protected HttpResponse createResponse(String resource, String mimeType) throws IOException { byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(resource)); return new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(bytes).create(); }
private void expectGetAndReturnData(Uri url, String data) throws Exception { HttpRequest req = new HttpRequest(url); HttpResponse resp = new HttpResponseBuilder().setResponse(data.getBytes()).create(); expect(pipeline.execute(req)).andReturn(resp).anyTimes(); }
private void expectGetAndReturnData(Uri url, String data) throws Exception { HttpRequest req = new HttpRequest(url); HttpResponse resp = new HttpResponseBuilder().setResponse(data.getBytes()).create(); expect(pipeline.execute(req)).andReturn(resp).anyTimes(); }
private void expectGetAndReturnData(String url, byte[] data) throws Exception { HttpRequest req = new HttpRequest(Uri.parse(url)); HttpResponse resp = new HttpResponseBuilder().setResponse(data).create(); expect(pipeline.execute(req)).andReturn(resp); }
/** Makes a new {@link HttpResponse} with an image content. */ private HttpResponseBuilder getImageResponse(String contentType, byte[] imageBytes) { return new HttpResponseBuilder() .setHeader(CONTENT_TYPE_HEADER, contentType) .setHttpStatusCode(HttpResponse.SC_OK) .setResponse(imageBytes); }
private void expectGetAndReturnData(String url, byte[] data) throws Exception { HttpRequest req = new HttpRequest(Uri.parse(url)); HttpResponse resp = new HttpResponseBuilder().setResponse(data).create(); expect(pipeline.execute(req)).andReturn(resp); }
private RequestContext createRequestContext(String resource, String mimeType) throws Exception { HttpRequest request = null; Uri uri = UriBuilder.parse(resource).toUri(); request = ImageAttributeVisitor.buildHttpRequest(gadget(), uri); byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(resource)); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(bytes).create(); return new RequestContext(request, response, null); } }
@Test public void testGetEncodingForFlashContentType() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .addHeader("Content-Type", "application/x-shockwave-flash; charset=iso-8859-1") .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding().toUpperCase()); }
private RequestContext createRequestContext(Uri uri, String content, String mimeType) throws IOException { HttpRequest request = new HttpRequest(uri); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(content.getBytes()).create(); return new RequestContext(request, response, null); }
@Test public void testEncodingDetectionUtf8WithBomNoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(UTF8_DATA) .create(); assertEquals("UTF-8", response.getEncoding().toUpperCase()); assertEquals(UTF8_STRING, response.getResponseAsString()); }
@Test public void setResponse() { byte[] someData = "some data".getBytes(); HttpResponse resp = new HttpResponseBuilder() .setResponse(someData) .create(); assertNotSame(someData, resp.getResponseAsBytes()); assertArrayEquals(someData, resp.getResponseAsBytes()); }
@Test public void testEncodingDetectionLatin1NoCharsetSpecified() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain;") .setResponse(LATIN1_DATA) .create(); assertEquals("ISO-8859-1", response.getEncoding().toUpperCase()); assertEquals(LATIN1_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionUtf8WithBomCaseInsensitiveKey() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; Charset=utf-8") // Legitimate data, should be ignored in favor of explicit charset. .setResponse(LATIN1_DATA) .create(); assertEquals("UTF-8", response.getEncoding()); }
@Before public void setUp() throws Exception { rewriterFeatureFactory = new ContentRewriterFeature.Factory(null, Providers.of(new ContentRewriterFeature.DefaultConfig(".*", "", "86400", "embed,img,script,link,style", false, false, false))); defaultRewriterFeature = rewriterFeatureFactory.getDefault(); tags = defaultRewriterFeature.getIncludedTags(); injector = Guice.createInjector(getParseModule(), new PropertiesModule(), new TestModule()); parser = injector.getInstance(GadgetHtmlParser.class); fakeResponse = new HttpResponseBuilder().setHeader("Content-Type", "unknown") .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF}); control = EasyMock.createControl(); }
@Test public void testEncodingDetectionUtf8WithBom() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTF-8") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomAndIncorrectCharset() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTTFF-88") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBom() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTF-8") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomAndIncorrectCharset() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTTFF-88") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }