/** * Executes a request, returning the response as JSON to be handled by makeRequest. */ public void fetch(HttpServletRequest request, HttpServletResponse response) throws GadgetException, IOException { HttpRequest rcr = buildHttpRequest(request); // Serialize the response HttpResponse results = requestPipeline.execute(rcr); // Rewrite the response if (contentRewriterRegistry != null) { try { results = contentRewriterRegistry.rewriteHttpResponse(rcr, results); } catch (RewritingException e) { throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e, e.getHttpStatusCode()); } } // Serialize the response String output = convertResponseToJson(rcr.getSecurityToken(), request, results); // Find and set the refresh interval setResponseHeaders(request, response, results); response.setStatus(HttpServletResponse.SC_OK); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(UNPARSEABLE_CRUFT + output); }
/** * Executes a request, returning the response as JSON to be handled by makeRequest. */ public void fetch(HttpServletRequest request, HttpServletResponse response) throws GadgetException, IOException { HttpRequest rcr = buildHttpRequest(request); // Serialize the response HttpResponse results = requestPipeline.execute(rcr); // Rewrite the response if (contentRewriterRegistry != null) { try { results = contentRewriterRegistry.rewriteHttpResponse(rcr, results); } catch (RewritingException e) { throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e, e.getHttpStatusCode()); } } // Serialize the response String output = convertResponseToJson(rcr.getSecurityToken(), request, results); // Find and set the refresh interval setResponseHeaders(request, response, results); response.setStatus(HttpServletResponse.SC_OK); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(UNPARSEABLE_CRUFT + output); }
results = contentRewriterRegistry.rewriteHttpResponse(req, results, null); } catch (RewritingException e) { logger.log(Level.WARNING, "Rewriting failed, serving original results", e);
results = contentRewriterRegistry.rewriteHttpResponse(rcr, results, gadget); } catch (RewritingException e) { throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e,
if (contentRewriterRegistry != null) { try { httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(), httpResp); } catch (RewritingException e) {
results = contentRewriterRegistry.rewriteHttpResponse(req, results); } catch (RewritingException e) { if (!isRecoverable(req, results, e)) {
if (contentRewriterRegistry != null) { try { httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(), httpResp); } catch (RewritingException e) {
results = contentRewriterRegistry.rewriteHttpResponse(req, results); } catch (RewritingException e) { if (!isRecoverable(req, results, e)) {
@Test public void testRewriteHttpResponse() throws Exception { String body = "Hello, world"; HttpRequest request = new HttpRequest(SPEC_URL); HttpResponse response = new HttpResponse(body); HttpResponse rewritten = registry.rewriteHttpResponse(request, response, null); assertTrue("First rewriter not invoked.", rewriters.get(0).responseWasRewritten()); assertTrue("Second rewriter not invoked.", rewriters.get(1).responseWasRewritten()); assertEquals(response, rewritten); }
@Test public void testRewriteHttpResponse() throws Exception { String body = "Hello, world"; HttpRequest request = new HttpRequest(SPEC_URL); HttpResponse response = new HttpResponse(body); HttpResponse rewritten = registry.rewriteHttpResponse(request, response); assertTrue("First rewriter not invoked.", rewriters.get(0).responseWasRewritten()); assertTrue("Second rewriter not invoked.", rewriters.get(1).responseWasRewritten()); assertEquals(response, rewritten); }
@Test public void testRewriteHttpResponse() throws Exception { String body = "Hello, world"; HttpRequest request = new HttpRequest(SPEC_URL); HttpResponse response = new HttpResponse(body); HttpResponse rewritten = registry.rewriteHttpResponse(request, response, null); assertTrue("First rewriter not invoked.", rewriters.get(0).responseWasRewritten()); assertTrue("Second rewriter not invoked.", rewriters.get(1).responseWasRewritten()); assertEquals(response, rewritten); }
if (contentRewriterRegistry != null) { try { httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(), httpResp, null); } catch (RewritingException e) {
/** * This test ensures that we dont call HttpResponse.getResponseAsString if no content * rewriter does so either. This is important * from a performance and content consistency standpoint. Because HttpResponse is final * we test that no new response object was created. */ @Test public void testNoDecodeHttpResponseForUnRewriteableMimeTypes() throws Exception { List<ResponseRewriter> rewriters = Lists.newArrayList(); rewriters.add(new ResponseRewriter() { public void rewrite(HttpRequest request, HttpResponseBuilder response, Gadget gadget) throws RewritingException { // Do nothing. } }); registry = new DefaultResponseRewriterRegistry(rewriters, parser); HttpRequest req = control.createMock(HttpRequest.class); EasyMock.expect(req.getRewriteMimeType()).andStubReturn("unknown"); control.replay(); HttpResponse rewritten = registry.rewriteHttpResponse(req, fakeResponse.create(), null); // Assert that response is untouched assertSame(rewritten, fakeResponse.create()); control.verify(); } }
/** * This test ensures that we dont call HttpResponse.getResponseAsString if no content * rewriter does so either. This is important * from a performance and content consistency standpoint. Because HttpResponse is final * we test that no new response object was created. */ @Test public void testNoDecodeHttpResponseForUnRewriteableMimeTypes() throws Exception { List<ResponseRewriter> rewriters = Lists.newArrayList(); rewriters.add(new ResponseRewriter() { public void rewrite(HttpRequest request, HttpResponseBuilder response, Gadget gadget) throws RewritingException { // Do nothing. } }); registry = new DefaultResponseRewriterRegistry(rewriters, parser); HttpRequest req = control.createMock(HttpRequest.class); EasyMock.expect(req.getRewriteMimeType()).andStubReturn("unknown"); control.replay(); HttpResponse rewritten = registry.rewriteHttpResponse(req, fakeResponse.create(), null); // Assert that response is untouched assertSame(rewritten, fakeResponse.create()); control.verify(); } }
/** * This test ensures that we dont call HttpResponse.getResponseAsString if no content * rewriter does so either. This is important * from a performance and content consistency standpoint. Because HttpResponse is final * we test that no new response object was created. */ @Test public void testNoDecodeHttpResponseForUnRewriteableMimeTypes() throws Exception { List<ResponseRewriter> rewriters = Lists.newArrayList(); rewriters.add(new ResponseRewriter() { public void rewrite(HttpRequest request, HttpResponseBuilder response) throws RewritingException { // Do nothing. } }); registry = new DefaultResponseRewriterRegistry(rewriters, parser); HttpRequest req = control.createMock(HttpRequest.class); EasyMock.expect(req.getRewriteMimeType()).andStubReturn("unknown"); control.replay(); HttpResponse rewritten = registry.rewriteHttpResponse(req, fakeResponse.create()); // Assert that response is untouched assertSame(rewritten, fakeResponse.create()); control.verify(); } }
results = contentRewriterRegistry.rewriteHttpResponse(req, results, gadget); } catch (ProcessingException e) { LOG.logp(Level.WARNING, CLASSNAME, "execute", MessageKeys.GADGET_CREATION_ERROR, e); results = contentRewriterRegistry.rewriteHttpResponse(req, results, null);
results = contentRewriterRegistry.rewriteHttpResponse(req, results);
results = contentRewriterRegistry.rewriteHttpResponse(req, results);
results = contentRewriterRegistry.rewriteHttpResponse(rcr, results); } catch (RewritingException e) {
results = contentRewriterRegistry.rewriteHttpResponse(rcr, results); } catch (RewritingException e) {