@Override public boolean isCommitted() { return getDelegate().isCommitted(); }
@Override public boolean isCommitted() { return getDelegate().isCommitted(); }
private void endTimerRespectingCommit(ServerWebExchange exchange, Sample sample) { ServerHttpResponse response = exchange.getResponse(); if (response.isCommitted()) { endTimerInner(exchange, sample); } else { response.beforeCommit(() -> { endTimerInner(exchange, sample); return Mono.empty(); }); } }
public GatewayFilter apply(HttpStatusHolder httpStatus, URI uri) { return (exchange, chain) -> chain.filter(exchange).then(Mono.defer(() -> { if (!exchange.getResponse().isCommitted()) { setResponseStatus(exchange, httpStatus); final ServerHttpResponse response = exchange.getResponse(); response.getHeaders().set(HttpHeaders.LOCATION, uri.toString()); return response.setComplete(); } return Mono.empty(); })); }
public static boolean setResponseStatus(ServerWebExchange exchange, HttpStatusHolder statusHolder) { if (exchange.getResponse().isCommitted()) { return false; } if (statusHolder.getHttpStatus() != null) { return setResponseStatus(exchange, statusHolder.getHttpStatus()); } if (statusHolder.getStatus() != null && exchange.getResponse() instanceof AbstractServerHttpResponse) { //non-standard ((AbstractServerHttpResponse)exchange.getResponse()).setStatusCodeValue(statusHolder.getStatus()); return true; } return false; }
private Publisher<Void> filter(ServerWebExchange exchange, Mono<Void> call) { long start = System.nanoTime(); ServerHttpResponse response = exchange.getResponse(); return call.doOnSuccess((done) -> success(exchange, start)).doOnError((cause) -> { if (response.isCommitted()) { error(exchange, start, cause); } else { response.beforeCommit(() -> { error(exchange, start, cause); return Mono.empty(); }); } }); }
@Override public boolean isCommitted() { return getDelegate().isCommitted(); }
@Override public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) { System.out.println("-----------------------------------errorHandler------------------------" + ex.getMessage()); if (exchange.getResponse().isCommitted()) { return Mono.error(ex); } return Mono.just(ex).flatMap(t -> { return Mono.empty(); }); } }
@Override public boolean isCommitted() { return getDelegate().isCommitted(); }