@POST @RequireApplicationAccess @Consumes(MediaType.APPLICATION_JSON) public JSONWithPadding executePost( @Context UriInfo ui, EntityHolder<Object> body, @QueryParam("callback") @DefaultValue("callback") String callback) throws Exception { logger.debug("ServiceResource.executePost"); Object json = body.getEntity(); ApiResponse response = createApiResponse(); response.setAction("post"); response.setApplication(services.getApplication()); response.setParams(ui.getQueryParameters()); ServicePayload payload = getPayload(json); executeServiceRequest(ui, response, ServiceAction.POST, payload); return new JSONWithPadding(response, callback); }
@DELETE @RequireApplicationAccess public JSONWithPadding executeDelete( @Context UriInfo ui, @QueryParam("callback") @DefaultValue("callback") String callback) throws Exception { logger.debug("ServiceResource.executeDelete"); ApiResponse response = createApiResponse(); response.setAction("delete"); response.setApplication(services.getApplication()); response.setParams(ui.getQueryParameters()); executeServiceRequest(ui, response, ServiceAction.DELETE, null); return new JSONWithPadding(response, callback); }
@GET @Path("foursquare") public Response authFQ( @Context UriInfo ui, @QueryParam("fq_access_token") String fq_access_token, @QueryParam("ttl") long ttl, @QueryParam("callback") @DefaultValue("") String callback) throws Exception { logger.info("AuthResource.authFQ"); try { if (StringUtils.isEmpty(fq_access_token)) { return missingTokenFail(callback); } SignInAsProvider foursquareProvider = signInProviderFactory.foursquare(services.getApplication()); User user = foursquareProvider.createOrAuthenticate(fq_access_token); if (user == null) { return findAndCreateFail(callback); } String token = management.getAccessTokenForAppUser(services.getApplicationId(), user.getUuid(), ttl); AccessInfo access_info = new AccessInfo() .withExpiresIn(tokens.getMaxTokenAge(token) / 1000) .withAccessToken(token) .withProperty("user", user); return Response.status(SC_OK) .type(jsonMediaType(callback)) .entity(wrapWithCallback(access_info, callback)) .build(); } catch (Exception e) { return generalAuthError(callback, e); } }