/** Execute an HTTP DELETE request */ @Operation(httpMethods = "POST", path = "/delete") public HttpApiResponse delete(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); assertNoBody(httpReq, "DELETE"); return execute("DELETE", httpReq, request); }
/** Format a response as JSON, including additional JSON inserted by chained content fetchers. */ protected Object transformBody(HttpApiRequest request, HttpResponse results) throws GadgetException { String body = results.getResponseAsString(); if ("feed".equalsIgnoreCase(request.format)) { return processFeed(request, body); } else if ("json".equalsIgnoreCase(request.format)) { try { body = body.trim(); if(body.length() > 0 && body.charAt(0) == '[') { return new JSONArray(body); } else { return new JSONObject(body); } } catch (JSONException e) { // TODO: include data block with invalid JSON throw new ProtocolException(HttpServletResponse.SC_NOT_ACCEPTABLE, "Response not valid JSON", e); } } return body; }
Uri href = normalizeUrl(httpApiRequest.href); try { HttpRequest req = new HttpRequest(href); Uri gadgetUri = getGadgetUri(requestItem.getToken(), httpApiRequest); if (gadgetUri == null) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, req.setSecurityToken(requestItem.getToken()); Map<String, String> authSettings = getAuthSettings(requestItem); OAuthArguments oauthArgs = new OAuthArguments(req.getAuthType(), authSettings); oauthArgs.setSignOwner(httpApiRequest.signOwner); transformBody(httpApiRequest, results), httpApiRequest);
/** Execute an HTTP PUT request */ @Operation(httpMethods = "POST", path = "/put") public HttpApiResponse put(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("PUT", httpReq, request); }
@Before public void setUp() throws Exception { token = new FakeGadgetToken(); token.setAppUrl("http://www.example.com/gadget.xml"); Injector injector = Guice.createInjector(); converter = new BeanJsonConverter(injector); HttpRequestHandler handler = new HttpRequestHandler(pipeline, rewriterRegistry, feedProcessorProvider); registry = new DefaultHandlerRegistry(injector, converter, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(ImmutableSet.<Object>of(handler)); builder = new HttpResponseBuilder().setResponseString("CONTENT"); }
Uri href = normalizeUrl(httpApiRequest.href); try { HttpRequest req = new HttpRequest(href); Uri gadgetUri = getGadgetUri(requestItem.getToken(), httpApiRequest); if (gadgetUri == null) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, req.setSecurityToken(requestItem.getToken()); Map<String, String> authSettings = getAuthSettings(requestItem); OAuthArguments oauthArgs = new OAuthArguments(req.getAuthType(), authSettings); oauthArgs.setSignOwner(httpApiRequest.signOwner); transformBody(httpApiRequest, results), httpApiRequest);
/** Execute an HTTP PUT request */ @Operation(httpMethods = "POST", path = "/put") public HttpApiResponse put(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("PUT", httpReq, request); }
@Before public void setUp() throws Exception { token = new FakeGadgetToken(); token.setAppUrl("http://www.example.com/gadget.xml"); Injector injector = Guice.createInjector(); converter = new BeanJsonConverter(injector); HttpRequestHandler handler = new HttpRequestHandler(pipeline, rewriterRegistry, feedProcessorProvider, mockProcessor); registry = new DefaultHandlerRegistry(injector, converter, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(ImmutableSet.<Object>of(handler)); builder = new HttpResponseBuilder().setResponseString("CONTENT"); }
Uri href = normalizeUrl(httpApiRequest.href); try { HttpRequest req = new HttpRequest(href); final Uri gadgetUri = getGadgetUri(requestItem.getToken(), httpApiRequest); if (gadgetUri == null) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, if (authType != AuthType.NONE) { if (authType == AuthType.OAUTH2) { Map<String, String> authSettings = getAuthSettings(requestItem); OAuth2Arguments oauth2Args = new OAuth2Arguments(req.getAuthType(), authSettings); Map<String, String> authSettings = getAuthSettings(requestItem); OAuthArguments oauthArgs = new OAuthArguments(req.getAuthType(), authSettings); oauthArgs.setSignOwner(httpApiRequest.signOwner); transformBody(httpApiRequest, results), httpApiRequest);
/** Execute an HTTP GET request */ @Operation(httpMethods = {"POST","GET"}, path = "/get") public HttpApiResponse get(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); assertNoBody(httpReq, "GET"); return execute("GET", httpReq, request); }
/** Execute an HTTP POST request */ @Operation(httpMethods = "POST", path = "/post") public HttpApiResponse post(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("POST", httpReq, request); }
@Before public void setUp() throws Exception { token = new FakeGadgetToken(); token.setAppUrl("http://www.example.com/gadget.xml"); Injector injector = Guice.createInjector(); converter = new BeanJsonConverter(injector); HttpRequestHandler handler = new HttpRequestHandler(pipeline, rewriterRegistry, feedProcessorProvider, mockProcessor); registry = new DefaultHandlerRegistry(injector, converter, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(ImmutableSet.<Object>of(handler)); builder = new HttpResponseBuilder().setResponseString("CONTENT"); }
/** Format a response as JSON, including additional JSON inserted by chained content fetchers. */ protected Object transformBody(HttpApiRequest request, HttpResponse results) throws GadgetException { String body = results.getResponseAsString(); if ("feed".equalsIgnoreCase(request.format)) { return processFeed(request, body); } else if ("json".equalsIgnoreCase(request.format)) { try { return new JSONObject(body); } catch (JSONException e) { // TODO: include data block with invalid JSON throw new ProtocolException(HttpServletResponse.SC_NOT_ACCEPTABLE, "Response not valid JSON", e); } } return body; }
/** Execute an HTTP DELETE request */ @Operation(httpMethods = "POST", path = "/delete") public HttpApiResponse delete(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); assertNoBody(httpReq, "DELETE"); return execute("DELETE", httpReq, request); }
/** Execute an HTTP POST request */ @Operation(httpMethods = "POST", path = "/post") public HttpApiResponse post(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("POST", httpReq, request); }
/** Format a response as JSON, including additional JSON inserted by chained content fetchers. */ protected Object transformBody(HttpApiRequest request, HttpResponse results) throws GadgetException { String body = results.getResponseAsString(); if ("feed".equalsIgnoreCase(request.format)) { return processFeed(request, body); } else if ("json".equalsIgnoreCase(request.format)) { try { body = body.trim(); if(body.charAt(0) == '[') { return new JSONArray(body); } else { return new JSONObject(body); } } catch (JSONException e) { // TODO: include data block with invalid JSON throw new ProtocolException(HttpServletResponse.SC_NOT_ACCEPTABLE, "Response not valid JSON", e); } } return body; }
/** Execute an HTTP GET request */ @Operation(httpMethods = {"POST","GET"}, path = "/get") public HttpApiResponse get(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); assertNoBody(httpReq, "GET"); return execute("GET", httpReq, request); }
/** Execute an HTTP POST request */ @Operation(httpMethods = "POST", path = "/post") public HttpApiResponse post(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("POST", httpReq, request); }
/** Execute an HTTP HEAD request */ @Operation(httpMethods = {"POST","GET"}, path = "/head") public HttpApiResponse head(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); assertNoBody(httpReq, "HEAD"); return execute("HEAD", httpReq, request); }
/** Execute an HTTP PUT request */ @Operation(httpMethods = "POST", path = "/put") public HttpApiResponse put(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("PUT", httpReq, request); }