Refine search
@GET @ManagedAsync public void longGet(@Suspended final AsyncResponse ar, @QueryParam("id") int requestId) { try { Thread.sleep(SLEEP_TIME_IN_MILLIS); } catch (InterruptedException ex) { LOGGER.log(Level.SEVERE, "Response processing interrupted", ex); } ar.resume(requestId + " - " + NOTIFICATION_RESPONSE); } }
@GET @Path("{queryId}/{token}") @Produces(MediaType.APPLICATION_JSON) public void getQueryResults( @PathParam("queryId") QueryId queryId, @PathParam("token") long token, @QueryParam("maxWait") Duration maxWait, @QueryParam("targetResultSize") DataSize targetResultSize, @HeaderParam(X_FORWARDED_PROTO) String proto, @Context UriInfo uriInfo, @Suspended AsyncResponse asyncResponse) { Query query = queries.get(queryId); if (query == null) { asyncResponse.resume(Response.status(Status.NOT_FOUND).build()); return; } if (isNullOrEmpty(proto)) { proto = uriInfo.getRequestUri().getScheme(); } asyncQueryResults(query, OptionalLong.of(token), maxWait, targetResultSize, uriInfo, proto, asyncResponse); }
@DELETE @Path("/{name}/lock") public void unlock(@PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(lock -> lock.unlock()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); } }
@GET @Produces("application/json") public void mainfest(@Suspended AsyncResponse asyncResponse, @Context ServletContext context) { ReactiveSeq.of("/META-INF/MANIFEST.MF") .map(url->context.getResourceAsStream(url)) .map(this::getManifest) .foldFuture(WorkerThreads.ioExecutor.get(), s->s.forEach(Long.MAX_VALUE,result->asyncResponse.resume(result))); }
@DELETE @Path("/{name}/lock") public void unlock(@PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(lock -> lock.unlock()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); } }
@POST @Path("{name}") @Consumes(MediaType.APPLICATION_JSON) @SuppressWarnings("unchecked") public void create( @PathParam("name") String name, C config, @Suspended AsyncResponse response) { primitives.getPrimitiveAsync(name, type, config).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { response.resume(error); } }); }
@POST @Path("/{name}/lock") @Produces(MediaType.APPLICATION_JSON) public void lock(@PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(lock -> lock.lock()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@GET @Path("/{name}/value") @Produces(MediaType.APPLICATION_JSON) public void get(@PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(value -> value.get()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @Path("/{subject}/{node}") @Consumes(MediaType.TEXT_PLAIN) public void send(@PathParam("subject") String subject, @PathParam("node") String node, @Context ClusterCommunicationService communicationService, String body, @Suspended AsyncResponse response) { communicationService.unicast(subject, body, MemberId.from(node)).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @Path("/{name}/clear") public void clear( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(map -> map.clear()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.noContent().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @ManagedAsync @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("/segments") @ApiOperation(value = "Upload a segment", notes = "Upload a segment as binary") // For the multipart endpoint, we will always move segment to final location regardless of the segment endpoint. public void uploadSegmentAsMultiPart(FormDataMultiPart multiPart, @ApiParam(value = "Whether to enable parallel push protection") @DefaultValue("false") @QueryParam(FileUploadDownloadClient.QueryParameters.ENABLE_PARALLEL_PUSH_PROTECTION) boolean enableParallelPushProtection, @Context HttpHeaders headers, @Context Request request, @Suspended final AsyncResponse asyncResponse) { try { asyncResponse.resume(uploadSegment(multiPart, enableParallelPushProtection, headers, request, true)); } catch (Throwable t) { asyncResponse.resume(t); } }
@POST @Path("/{name}/value") @Consumes(MediaType.TEXT_PLAIN) public void set(@PathParam("name") String name, String body, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(value -> value.set(body)).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); } }
@POST @ManagedAsync @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("/v2/segments") @ApiOperation(value = "Upload a segment", notes = "Upload a segment as binary") // This behavior does not differ from v1 of the same endpoint. public void uploadSegmentAsMultiPartV2(FormDataMultiPart multiPart, @ApiParam(value = "Whether to enable parallel push protection") @DefaultValue("false") @QueryParam(FileUploadDownloadClient.QueryParameters.ENABLE_PARALLEL_PUSH_PROTECTION) boolean enableParallelPushProtection, @Context HttpHeaders headers, @Context Request request, @Suspended final AsyncResponse asyncResponse) { try { asyncResponse.resume(uploadSegment(multiPart, enableParallelPushProtection, headers, request, true)); } catch (Throwable t) { asyncResponse.resume(t); } }
@GET @Path("/{name}/size") @Produces(MediaType.APPLICATION_JSON) public void size( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(map -> map.size()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @Path("/{name}/element") @Produces(MediaType.APPLICATION_JSON) public void element( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(queue -> queue.element()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @Path("/{name}/poll") @Produces(MediaType.APPLICATION_JSON) public void poll( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(queue -> queue.poll()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@POST @Path("/{name}/lock") @Produces(MediaType.APPLICATION_JSON) public void lock(@PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(lock -> lock.lock()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result.value()).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }
@DELETE @Path("/{name}") public void clear( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(collection -> collection.clear()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok().build()); } else { log.warn("{}", error); response.resume(Response.serverError().build()); } }); } }
@GET @Path("/{name}") @Produces(MediaType.APPLICATION_JSON) public void get( @PathParam("name") String name, @Suspended AsyncResponse response) { getPrimitive(name).thenCompose(counter -> counter.get()).whenComplete((result, error) -> { if (error == null) { response.resume(Response.ok(result).build()); } else { LOGGER.warn("{}", error); response.resume(Response.serverError().build()); } }); }