Examples of Yoke


Examples of com.jetdrone.vertx.yoke.Yoke

    }

    @Test
    public void testFormEncodedBodyLengthLimit() {

        Yoke yoke = new Yoke(this);
        yoke.use(new Limit(5L));
        yoke.use(new com.jetdrone.vertx.yoke.middleware.BodyParser());
        yoke.use(new Handler<YokeRequest>() {
            @Override
            public void handle(YokeRequest request) {
                fail("Body should have been too long");
            }
        });
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

    }

    @Test
    public void testDeleteContentLengthZeroWithNoBody() {

        Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.BodyParser());
        yoke.use(new Handler<YokeRequest>() {
            @Override
            public void handle(YokeRequest request) {
                request.response().setStatusCode(204);
                request.response().end("");
            }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class Timeout extends TestVerticle {

    @Test
    public void testTimeout() {
        Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.Timeout(10));
        yoke.use(new Handler<YokeRequest>() {
            @Override
            public void handle(YokeRequest request) {
                // noop to so the response would never end
            }
        });
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class Persona extends Verticle {

    @Override
    public void start() {
        final Yoke yoke = new Yoke(this);
        yoke.secretSecurity("keyboard cat");

        yoke.engine("shtml", new StringPlaceholderEngine("views"));

        final Mac secret = yoke.security().getMac("HmacSHA256");

        // all environments
        yoke.use(new CookieParser(secret));
        yoke.use(new Session(secret));
        yoke.use(new BodyParser());
        yoke.use(new Static("static"));
        yoke.use(new ErrorHandler(true));

        // routes
        yoke.use(new Router()
                .get("/", new Middleware() {
                    @Override
                    public void handle(final YokeRequest request, final Handler<Object> next) {
                        JsonObject sessionData = request.get("session");

                        if (sessionData == null) {
                            // no session
                            request.put("email", "null");
                        } else {
                            String email = sessionData.getString("email");

                            if (email == null) {
                                request.put("email", "null");
                            } else {
                                request.put("email", "'" + email + "'");
                            }
                        }

                        request.response().render("index.shtml", next);
                    }
                })
                .post("/auth/logout", new Middleware() {
                    @Override
                    public void handle(YokeRequest request, Handler<Object> next) {
                        // destroy session
                        request.destroySession();
                        // send OK
                        request.response().end(new JsonObject().putBoolean("success", true));
                    }
                })
                .post("/auth/login", new Middleware() {
                    @Override
                    public void handle(final YokeRequest request, final Handler<Object> next) {
                        String data;

                        try {
                            // generate the data
                            data = "assertion=" + URLEncoder.encode(request.formAttributes().get("assertion"), "UTF-8") +
                                    "&audience=" + URLEncoder.encode("http://localhost:8080", "UTF-8");
                        } catch (UnsupportedEncodingException e) {
                            next.handle(e);
                            return;
                        }

                        HttpClient client = getVertx().createHttpClient().setSSL(true).setHost("verifier.login.persona.org").setPort(443);

                        HttpClientRequest clientRequest = client.post("/verify", new Handler<HttpClientResponse>() {
                            public void handle(HttpClientResponse response) {
                                // error handler
                                response.exceptionHandler(new Handler<Throwable>() {
                                    @Override
                                    public void handle(Throwable err) {
                                        next.handle(err);
                                    }
                                });

                                final Buffer body = new Buffer(0);

                                // body handler
                                response.dataHandler(new Handler<Buffer>() {
                                    @Override
                                    public void handle(Buffer buffer) {
                                        body.appendBuffer(buffer);
                                    }
                                });
                                // done
                                response.endHandler(new Handler<Void>() {
                                    @Override
                                    public void handle(Void event) {
                                        try {
                                            JsonObject verifierResp = new JsonObject(body.toString());
                                            boolean valid = "okay".equals(verifierResp.getString("status"));
                                            String email = valid ? verifierResp.getString("email") : null;
                                            // assertion is valid:
                                            if (valid) {
                                                // generate a session
                                                request.createSession();
                                                // OK response
                                                request.response().end(new JsonObject().putBoolean("success", true));
                                            } else {
                                                request.response().end(new JsonObject().putBoolean("success", false));
                                            }
                                        } catch (DecodeException ex) {
                                            // bogus response from verifier!
                                            request.response().end(new JsonObject().putBoolean("success", false));
                                        }
                                    }
                                });
                            }
                        });

                        clientRequest.putHeader("content-type", "application/x-www-form-urlencoded");
                        clientRequest.putHeader("content-length", Integer.toString(data.length()));
                        clientRequest.end(data);
                    }
                })
        );

        yoke.listen(8080);
        container.logger().info("Yoke server listening on port 8080");
    }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        }
    }

    @Test
    public void testAnnotatedRouter() {
        Yoke yoke = new Yoke(this);
        yoke.use(com.jetdrone.vertx.yoke.middleware.Router.from(new TestRouter()));

        new YokeTester(yoke).request("GET", "/ws", new Handler<Response>() {
            @Override
            public void handle(Response resp) {
                assertEquals(200, resp.getStatusCode());
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        }
    }

    @Test
    public void testAnnotatedRouter2() {
        Yoke yoke = new Yoke(this);
        yoke.use(com.jetdrone.vertx.yoke.middleware.Router.from(new TestRouter2()));

        new YokeTester(yoke).request("GET", "/ws", new Handler<Response>() {
            @Override
            public void handle(Response resp) {
                assertEquals(200, resp.getStatusCode());
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        });
    }

    @Test
    public void testRouterWithParams() {
        Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.Router() {{
            get("/api/:userId", new Middleware() {
                @Override
                public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {

                    assertNotNull(request.get("user"));
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        });
    }

    @Test
    public void testRouterWithRegExParamsFail() {
        Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.Router() {{
            get("/api/:userId", new Middleware() {
                @Override
                public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {
                    request.response().end("OK");
                }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        });
    }

    @Test
    public void testRouterWithRegExParamsPass() {
        Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.Router() {{
            get("/api/:userId", new Middleware() {
                @Override
                public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {
                    request.response().end("OK");
                }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        });
    }

    @Test
    public void testTrailingSlashes() {
        final Yoke yoke = new Yoke(this);
        yoke.use(new com.jetdrone.vertx.yoke.middleware.Router() {{
            get("/api", new Middleware() {
                @Override
                public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {
                    request.response().end("OK");
                }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.