Package org.webbitserver

Examples of org.webbitserver.WebServer


    private static void log(char c) {
        System.out.print(c + "");
    }

    public static void main(String[] args) throws Exception {
        WebServer webServer = createWebServer(9888)
                .add("/echo", new WebSocketHandler() {
                    @Override
                    public void onOpen(WebSocketConnection connection) throws Exception {
                      connection.send("CONNECT");
                      log('C');
                    }
                    @Override
                    public void onClose(WebSocketConnection connection) throws Exception {
                      log('D');
                    }
                    @Override
                    public void onMessage(WebSocketConnection connection, String msg) throws Exception {
                      connection.send(msg);
                      log('.');
                    }

                    @Override
                    public void onMessage(WebSocketConnection connection, byte[] msg) {
                        connection.send(msg);
                        log('.');
                    }

                    @Override
                    public void onPong(WebSocketConnection connection, String msg) {
                        log('P');
                    }
                })
                .start();

        System.out.println("Echo server running on: " + webServer.getUri());
    }
View Full Code Here


import static org.webbitserver.WebServers.createWebServer;

public class Main {

    public static void main(String[] args) throws Exception {
        WebServer webServer = createWebServer(9876)
                .add(new LoggingHandler(new SimpleLogSink(Chatroom.USERNAME_KEY)))
                .add("/chatsocket", new Chatroom())
                .add(new StaticFileHandler("./src/test/java/samples/chatroom/content"))
                .start();

        System.out.println("Chat room running on: " + webServer.getUri());
    }
View Full Code Here

    public static void main(String[] args) throws Exception {
        ExecutorService webThread = newSingleThreadExecutor();
        final Pusher pusher = new Pusher();

        WebServer webServer = createWebServer(webThread, 9876)
                .add("/events", new EventSourceHandler() {
                    @Override
                    public void onOpen(EventSourceConnection connection) throws Exception {
                        pusher.addConnection(connection);
                    }

                    @Override
                    public void onClose(EventSourceConnection connection) throws Exception {
                        pusher.removeConnection(connection);
                    }
                })
                .add(new EmbeddedResourceHandler("samples/eventsource/content"))
                .start();

        System.out.println("EventSource demo running on: " + webServer.getUri());

        pusher.pushPeriodicallyOn(webThread);
    }
View Full Code Here

public class NettyWebServerTest {
    @Test
    public void stopsServerCleanlyNotLeavingResourcesHanging() throws Exception {
        int threadCountStart = getCurrentThreadCount();
        WebServer server = new NettyWebServer(Executors.newSingleThreadScheduledExecutor(), 9080).start();
        assertEquals(threadCountStart+1, getCurrentThreadCount());
        server.stop().join();
        assertEquals(threadCountStart, getCurrentThreadCount());
    }
View Full Code Here

    // Failing test for https://github.com/joewalnes/webbit/issues/29
    @Test
    @Ignore
    public void stopsServerCleanlyAlsoWhenClientsAreConnected() throws Exception {
        final CountDownLatch stopper = new CountDownLatch(1);
        final WebServer server = new NettyWebServer(Executors.newSingleThreadScheduledExecutor(), 9080).start();
        server.add(new HttpHandler() {
            @Override
            public void handleHttpRequest(HttpRequest request, HttpResponse response, HttpControl control) throws Exception {
                System.out.println("We got here");
                server.stop().join();
                System.out.println("But never here");
                stopper.countDown();
            }
        });
        Socket client = new Socket(InetAddress.getLocalHost(), 9080);
View Full Code Here

        writeFile("index.html", "Hello world");
        writeFile("foo.js", "some js");
        mkdir("some/dir");
        writeFile("some/dir/content1.txt", "some txt");

        WebServer webServer = createWebServer(59504)
                .add(handler)
                .start();
        try {
            assertEquals("Hello world", contents(httpGet(webServer, "/index.html")));
            assertEquals("some js", contents(httpGet(webServer, "/foo.js?xx=y")));
            assertEquals("some txt", contents(httpGet(webServer, "/some/dir/content1.txt")));
        } finally {
            webServer.stop().join();
        }
    }
View Full Code Here

public class ServerHeaderHandlerTest {

    @Test
    public void setsHttpServerHeader() throws IOException, InterruptedException {
        WebServer webServer = createWebServer(59504)
                .add(new ServerHeaderHandler("My Server"))
                .add(new StringHttpHandler("text/plain", "body"))
                .start();
        try {
            URLConnection urlConnection = httpGet(webServer, "/");
            assertEquals("My Server", urlConnection.getHeaderField("Server"));
            assertEquals("body", contents(urlConnection));
        } finally {
            webServer.stop().join();
        }
    }
View Full Code Here

        }
    }

    @Test
    public void canBeOverriddenByOtherHandlers() throws IOException, InterruptedException {
        WebServer webServer = createWebServer(59504)
                .add(new ServerHeaderHandler("My Server"))
                .add(new ServerHeaderHandler("No actually, this is My Server"))
                .add(new StringHttpHandler("text/plain", "body"))
                .start();
        try {
            URLConnection urlConnection = httpGet(webServer, "/");
            assertEquals("No actually, this is My Server", urlConnection.getHeaderField("Server"));
            assertEquals("body", contents(urlConnection));
        } finally {
            webServer.stop().join();
        }
    }
View Full Code Here

        }
    }

    @Test
    public void canBeClearedByOtherHandlers() throws IOException, InterruptedException {
        WebServer webServer = createWebServer(59504)
                .add(new ServerHeaderHandler("My Server"))
                .add(new ServerHeaderHandler(null))
                .add(new StringHttpHandler("text/plain", "body"))
                .start();
        try {
            URLConnection urlConnection = httpGet(webServer, "/");
            assertFalse(urlConnection.getHeaderFields().containsKey("Server"));
            assertEquals("body", contents(urlConnection));
        } finally {
            webServer.stop().join();
        }
    }
View Full Code Here

  public void stop() {
    httpServer.stop();
  }

  private WebServer configureServer(int port) {
    WebServer server = WebServers.createWebServer(newFixedThreadPool(5), port);

    // Note: Does first matching prefix matching, so /common/foo must be set up before /common
    // Delegating to a PathMatchHandler can be used to limit this
    server.add("/redirect", new RedirectHandler("result_page.html"));
    server.add("/basicAuth", new BasicAuthHandler("test:test"));
    server.add(new PathAugmentingStaticFileHandler(InProject.locate("test/fixtures"),
                                                   DEFAULT_CONTEXT_PATH));

    return server;
  }
View Full Code Here

TOP

Related Classes of org.webbitserver.WebServer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.