Promise<?> promise = Promise.async(f -> temp.collectList().subscribe(f::success, f::error)).transform(transformer); Flux next = Flux.create(subscriber -> promise.onError(subscriber::error).then(value -> { subscriber.next(value); subscriber.complete(); Promise<?> promise = Promise.async(f -> temp.subscribe(f::success, f::error)).transform(transformer); Mono next = Mono.create(subscriber -> promise.onError(subscriber::error).then(subscriber::success) ); result = recoveryFunction.onErrorResume(next);
.map(RetryEventDTO::createRetryEventDTO).toJavaList(); d.success(new RetryEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r))) ); chain1.get("stream/events", ctx -> { .map(RetryEventDTO::createRetryEventDTO).toJavaList(); d.success(new RetryEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r))); .map(RetryEventDTO::createRetryEventDTO).toJavaList(); d.success(new RetryEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)));
.map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); d.success(new RateLimiterEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r))) ); chain1.get("stream/events", ctx -> { .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); d.success(new RateLimiterEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r))); .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); d.success(new RateLimiterEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)));
.map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r))) ); chain1.get("stream/events", ctx -> { .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r))); .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r)));
.map(BulkheadEventDTO::createEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r))) ); chain1.get("stream/events", ctx -> { .map(BulkheadEventDTO::createEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r))); .map(BulkheadEventDTO::createEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r)));
@Override public void then(Block block) { promise.then(v -> block.execute() ); }
@Override public void accept(Throwable e) throws Exception { if (e instanceof OnErrorNotImplementedException) { Promise.error(e.getCause()).then(Action.noop()); } else if (e instanceof UndeliverableException) { Promise.error(e.getCause()).then(Action.noop()); } else { Promise.error(e).then(Action.noop()); } } }
/** * Converts this promise to an operation which is effectively {@code action}. * * @param action an operation on the promised value * @return an operation representing {@code action} */ default Operation operation(@NonBlocking Action<? super T> action) { return Operation.of(() -> then(action)); }
@Override public Promise<List<Meeting>> getMeetings() { return meetingRepository.getMeetings() .flatMap(meetings -> Promise.value( meetings.stream() .peek( meeting -> ratingRepository.getAverageRating(meeting.getId()) .then(meeting::setRating) ) .collect(Collectors.toList())) ); }
@Override public void handle(Context ctx) { JsonRpcRequest rpcReq = new JsonRpcRequest("setgenerate", Arrays.asList(true, 1)); rpcClient.call(rpcReq).then(rpcResponse -> ctx.render(json(rpcResponse))); } }
@Override public void subscribe(Subscriber<? super T> subscriber) { this.promise.onError(subscriber::onError).then(i -> Streams.publish(i).subscribe(subscriber) ); }
@Override public void handle(Context ctx) { ctx.parse(fromJson(JsonRpcRequest.class)).then(rpcReq -> { if (allowedMethods.contains(rpcReq.getMethod())) { rpcClient.call(rpcReq).then(rpcResponse -> ctx.render(json(rpcResponse))); } else { // Should we send a JsonRpcResponse here? ctx.getResponse().status(403).send("JSON-RPC method not allowed by proxy"); } }); } }
@Override public void handle(Context ctx) { JsonRpcRequest rpcReq = new JsonRpcRequest("getblockchaininfo"); rpcClient.call(rpcReq).then(rpcResponse -> ctx.render(json(rpcResponse))); } }
public void render(final Context ctx, final TextTemplate template) throws Exception { engine.renderTemplate(template.getId(), template.getModel()) .then(byteBuf -> { String type = template.getType(); if (type == null) { type = ctx.get(MimeTypes.class).getContentType(template.getId()); } ctx.getResponse().contentType(type).send(byteBuf); }); } }