Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import io.undertow.Undertow;
  5. import io.undertow.io.IoCallback;
  6. import io.undertow.io.Sender;
  7. import io.undertow.server.HttpHandler;
  8. import io.undertow.server.HttpServerExchange;
  9. import io.undertow.server.handlers.PathHandler;
  10. import io.undertow.util.Headers;
  11.  
  12. import java.io.IOException;
  13. import java.util.Deque;
  14. import java.util.Map;
  15. import java.util.Optional;
  16.  
  17. public class Main {
  18.  
  19.     public static void main(final String[] args) {
  20.         Undertow server = Undertow.builder()
  21.                 .addHttpListener(8080, "localhost")
  22.                 .setHandler(new PathHandler()
  23.                         .addPrefixPath(
  24.                         "/",
  25.                         new HttpHandler() {
  26.                             public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
  27.                                 httpServerExchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
  28.                                 httpServerExchange.getResponseSender().send("another path");
  29.                             }
  30.                         }
  31.                 ).addPrefixPath(
  32.                         "helloworld",
  33.                         new HttpHandler(){
  34.                             public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
  35.                                 Map<String, Deque<String>> parameters = httpServerExchange.getQueryParameters();
  36.                                 Optional<Deque<String>> nameParameters = Optional.ofNullable(parameters.get("name"));
  37.                                 String name = nameParameters.map(p -> p.peek()).orElse("");
  38.                                 httpServerExchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
  39.                                 httpServerExchange.getResponseSender().send("Hello, ", new IoCallback() {
  40.                                     @Override
  41.                                     public void onComplete(HttpServerExchange httpServerExchange, Sender sender) {
  42.                                         System.out.println("callback");
  43.                                         sender.send(name);
  44.                                     }
  45.  
  46.                                     @Override
  47.                                     public void onException(HttpServerExchange httpServerExchange, Sender sender, IOException e) {
  48.                                         System.out.println(e);
  49.                                     }
  50.                                 });
  51.                             }
  52.                         }
  53.                 )).build();
  54.         server.start();
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement