java/connected-components/src/main/java/org/apache/flink/statefun/playground/java/connectedcomponents/undertow/UndertowHttpHandler.java [34:60]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public final class UndertowHttpHandler implements HttpHandler {
  private final RequestReplyHandler handler;

  public UndertowHttpHandler(RequestReplyHandler handler) {
    this.handler = Objects.requireNonNull(handler);
  }

  @Override
  public void handleRequest(HttpServerExchange exchange) {
    exchange.getRequestReceiver().receiveFullBytes(this::onRequestBody);
  }

  private void onRequestBody(HttpServerExchange exchange, byte[] requestBytes) {
    exchange.dispatch();
    CompletableFuture<Slice> future = handler.handle(Slices.wrap(requestBytes));
    future.whenComplete((response, exception) -> onComplete(exchange, response, exception));
  }

  private void onComplete(HttpServerExchange exchange, Slice responseBytes, Throwable ex) {
    if (ex != null) {
      ex.printStackTrace(System.out);
      exchange.getResponseHeaders().put(Headers.STATUS, 500);
      exchange.endExchange();
      return;
    }
    exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/octet-stream");
    exchange.getResponseSender().send(responseBytes.asReadOnlyByteBuffer());
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



java/greeter/src/main/java/org/apache/flink/statefun/playground/java/greeter/undertow/UndertowHttpHandler.java [34:60]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public final class UndertowHttpHandler implements HttpHandler {
  private final RequestReplyHandler handler;

  public UndertowHttpHandler(RequestReplyHandler handler) {
    this.handler = Objects.requireNonNull(handler);
  }

  @Override
  public void handleRequest(HttpServerExchange exchange) {
    exchange.getRequestReceiver().receiveFullBytes(this::onRequestBody);
  }

  private void onRequestBody(HttpServerExchange exchange, byte[] requestBytes) {
    exchange.dispatch();
    CompletableFuture<Slice> future = handler.handle(Slices.wrap(requestBytes));
    future.whenComplete((response, exception) -> onComplete(exchange, response, exception));
  }

  private void onComplete(HttpServerExchange exchange, Slice responseBytes, Throwable ex) {
    if (ex != null) {
      ex.printStackTrace(System.out);
      exchange.getResponseHeaders().put(Headers.STATUS, 500);
      exchange.endExchange();
      return;
    }
    exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/octet-stream");
    exchange.getResponseSender().send(responseBytes.asReadOnlyByteBuffer());
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



