@Operation(httpMethods = {"POST", "GET"}, path = "token") public Map<String, GadgetsHandlerApi.BaseResponse> token(BaseRequestItem request) throws ProtocolException { return new AbstractExecutor() { @Override protected Callable<CallableData> createJob(String url, BaseRequestItem request) throws ProcessingException { return createTokenJob(url, request); } }.execute(request); }
@Operation(httpMethods = "GET", path = "/@metadata.supportedFields") public Set<String> supportedFields(RequestItem request) { return ImmutableSet.copyOf(beanFilter .getBeanFields(GadgetsHandlerApi.MetadataResponse.class, 5)); }
@Operation(httpMethods = "GET", path = "/@token.supportedFields") public Set<String> tokenSupportedFields(RequestItem request) { return ImmutableSet.copyOf( beanFilter.getBeanFields(GadgetsHandlerApi.TokenResponse.class, 5)); }
@Operation(httpMethods = "GET", path = "/@js.supportedFields") public Set<String> jsSupportedFields(RequestItem request) { return ImmutableSet.copyOf( beanFilter.getBeanFields(GadgetsHandlerApi.JsResponse.class, 5)); }
@Operation(httpMethods = {"POST", "GET"}, path = "metadata.get") public Map<String, GadgetsHandlerApi.BaseResponse> metadata(BaseRequestItem request) throws ProtocolException { return new AbstractExecutor<GadgetsHandlerApi.MetadataResponse>() { @Override protected Callable<GadgetsHandlerApi.MetadataResponse> createJob(String url, BaseRequestItem request) { return createMetadataJob(url, request); } }.execute(request); }
@Operation(httpMethods = "") public String noArg() { return NO_ARG_RESPONSE; } }
@Operation(httpMethods = "GET", path = "/@token.supportedFields") public Set<String> tokenSupportedFields(RequestItem request) { return ImmutableSet.copyOf( beanFilter.getBeanFields(GadgetsHandlerApi.TokenResponse.class, 5)); }
/** 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 PUT request */ @Operation(httpMethods = "POST", path = "/put") public HttpApiResponse put(BaseRequestItem request) { HttpApiRequest httpReq = request.getTypedRequest(HttpApiRequest.class); return execute("PUT", httpReq, request); }
@Operation(httpMethods = "GET", path="/@supportedFields") public List<Object> supportedFields(RequestItem request) { // TODO: Would be nice if name in config matched name of service. String container = Objects.firstNonNull(request.getToken().getContainer(), "default"); return config.getList(container, "${Cur['gadgets.features'].opensocial.supportedFields.person}"); } }
@Operation(name="override.rpcname", httpMethods = "") public Object overriddenRpc(RequestItem req) { if (mock != null) { return mock.get(req); } return GET_RESPONSE; }
/** 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 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); }
@Operation(httpMethods = "GET", path = "/overridden/method") public Object overridden(RequestItem req) { if (mock != null) { return mock.get(req); } return GET_RESPONSE; }
@Operation(name="override.rpcname", httpMethods = "") public Object overriddenRpc(RequestItem req) { if (mock != null) { return mock.get(req); } return GET_RESPONSE; }
@Operation(httpMethods = "GET", path = "/overridden/method") public Object overridden(RequestItem req) { if (mock != null) { return mock.get(req); } return GET_RESPONSE; }
@Operation(httpMethods = "DELETE") public Future<?> delete(SocialRequestItem request) throws ProtocolException { // Get user and album ID Set<UserId> userIds = request.getUsers(); String albumId = request.getParameter("albumId"); // Enforce preconditions - userIds must contain exactly one element HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // Service request return service.deleteAlbum(Iterables.getOnlyElement(userIds), request.getAppId(), albumId, request.getToken()); }
@Operation(httpMethods = "DELETE") public Future<?> futureException(RequestItem req) { if (mock != null) { return mock.futureException(req); } return ImmediateFuture.errorInstance(new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, FAILURE_MESSAGE, new Throwable())); }
@Operation(httpMethods = "DELETE") public Future<?> delete(SocialRequestItem request) throws ProtocolException { // Get user and album ID Set<UserId> userIds = request.getUsers(); String albumId = request.getParameter("albumId"); // Enforce preconditions - userIds must contain exactly one element HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // Service request return service.deleteAlbum(Iterables.getOnlyElement(userIds), request.getAppId(), albumId, request.getToken()); }
@Operation(httpMethods = "DELETE") public Future<?> futureException(RequestItem req) { if (mock != null) { return mock.futureException(req); } return Futures.immediateFailedFuture(new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, FAILURE_MESSAGE, new Throwable())); }