Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import io.undertow.Undertow;
- import io.undertow.io.IoCallback;
- import io.undertow.io.Sender;
- import io.undertow.server.HttpHandler;
- import io.undertow.server.HttpServerExchange;
- import io.undertow.server.handlers.PathHandler;
- import io.undertow.util.Headers;
- import java.io.IOException;
- import java.util.Deque;
- import java.util.Map;
- import java.util.Optional;
- public class Main {
- public static void main(final String[] args) {
- Undertow server = Undertow.builder()
- .addHttpListener(8080, "localhost")
- .setHandler(new PathHandler()
- .addPrefixPath(
- "/",
- new HttpHandler() {
- public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
- httpServerExchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
- httpServerExchange.getResponseSender().send("another path");
- }
- }
- ).addPrefixPath(
- "helloworld",
- new HttpHandler(){
- public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
- Map<String, Deque<String>> parameters = httpServerExchange.getQueryParameters();
- Optional<Deque<String>> nameParameters = Optional.ofNullable(parameters.get("name"));
- String name = nameParameters.map(p -> p.peek()).orElse("");
- httpServerExchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
- httpServerExchange.getResponseSender().send("Hello, ", new IoCallback() {
- @Override
- public void onComplete(HttpServerExchange httpServerExchange, Sender sender) {
- System.out.println("callback");
- sender.send(name);
- }
- @Override
- public void onException(HttpServerExchange httpServerExchange, Sender sender, IOException e) {
- System.out.println(e);
- }
- });
- }
- }
- )).build();
- server.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement