Examples of Yoke


Examples of com.jetdrone.vertx.yoke.Yoke

            FileOutputStream out = new FileOutputStream(temp);
            out.write("Hello ${fnName('Lopes')}!".getBytes());
            out.close();
            final String location = temp.getAbsolutePath();

            Yoke yoke = new Yoke(this);
            yoke.set("fnName", new Function() {
                @Override
                public String exec(Map<String, Object> context, Object... args) {
                    return "Paulo " + args[0];
                }
            });
            yoke.engine("shtml", new com.jetdrone.vertx.yoke.engine.StringPlaceholderEngine(""));
            yoke.use(new Middleware() {
                @Override
                public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {
                    request.put("name", "Paulo");
                    request.response().render(location, next);
                }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

                if (deploymentId == null) {
                    System.err.println("Deployment failed!");
                    System.exit(1);
                }

                final Yoke app = new Yoke(SessionStoreExample.this);
                app.secretSecurity("keyboard cat");

                app.store(new MongoDBSessionStore(vertx.eventBus(), "vertx.mongopersistor", "sessions"));

                final Mac hmac = app.security().getMac("HmacSHA256");

                app.use(new BodyParser());
                app.use(new CookieParser(hmac));
                app.use(new Session(hmac));


                app.use(new Router() {{
                    get("/", new Handler<YokeRequest>() {
                        @Override
                        public void handle(YokeRequest request) {
                            JsonObject session = request.get("session");
                            if (session == null) {
                                request.response().setStatusCode(404);
                                request.response().end();
                            } else {
                                request.response().end(session);
                            }
                        }
                    });

                    get("/new", new Handler<YokeRequest>() {
                        @Override
                        public void handle(YokeRequest request) {
                            JsonObject session = request.createSession();

                            session.putString("key", "value");

                            request.response().end();
                        }
                    });

                    get("/delete", new Handler<YokeRequest>() {
                        @Override
                        public void handle(YokeRequest request) {
                            request.destroySession();
                            request.response().end();
                        }
                    });
                }});

                app.listen(8000);
            }
        });
    }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        final RedisClient db = new RedisClient(eb, Config.REDIS_ADDRESS);

        db.deployModule(container, config.dbServer, config.dbPort);

        final Yoke yoke = new Yoke(this);
        // register jMustache render engine
        yoke.engine("shtml", new StringPlaceholderEngine("com/jetdrone/vertx/kitcms/views"));
        // log the requests
        yoke.use(new Logger());
        // install the pretty error handler middleware
        yoke.use(new ErrorHandler(true));
        // install the favicon middleware
        yoke.use(new Favicon());
        // install custom middleware to identify the domain
        yoke.use(new DomainMiddleware(config));
        // install the static file server
        // note that since we are mounting under /static the root for the static middleware
        // will always be prefixed with /static
        yoke.use("/static", new Static("."));
        // install the BasicAuth middleware
        yoke.use("/admin", new BasicAuth(config.adminUsername, config.adminPassword));
        // install body parser for /admin requests
        yoke.use("/admin", new BodyParser());
        // install router for admin requests
        yoke.use(new Router()
            .get("/admin", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    db.keys(domain.namespace + "&*", new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                StringBuilder keys = new StringBuilder();
                                JsonArray json = message.body().getArray("value");

                                for (int i = 0; i < json.size(); i++) {
                                    keys.append("<li data-value=\"");
                                    keys.append(json.get(i));
                                    keys.append("\">");
                                    keys.append(json.get(i));
                                    keys.append("</li>");
                                }

                                request.put("keys", keys);
                                request.response().render("admin.shtml", next);
                            }
                        }
                    });
                }
            })
            .get("/admin/keys", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    db.keys(domain.namespace + "&*", new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                request.response().end(message.body().getString("value"));
                            }
                        }
                    });
                }
            })
            .get("/admin/get", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");
                    String key = request.params().get("key");

                    if (key == null) {
                        request.response().end("Missing key");
                        return;
                    }

                    db.get(domain.namespace + "&" + key, new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                request.response().setContentType("application/json");
                                // TODO: escape
                                request.response().end("\"" + message.body().getString("value") + "\"");
                            }
                        }
                    });
                }
            })
            .post("/admin/set", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    MultiMap body = request.formAttributes();

                    String key = body.get("key");
                    String value = body.get("value");

                    if (key == null) {
                        request.response().end("Missing key");
                        return;
                    }

                    if (value == null) {
                        request.response().end("Missing value");
                        return;
                    }

                    db.set(domain.namespace + "&" + key, value, new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                request.response().setContentType("application/json");
                                request.response().end("\"OK\"");
                            }
                        }
                    });
                }
            })
            .post("/admin/unset", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    MultiMap body = request.formAttributes();

                    String key = body.get("key");

                    if (key == null) {
                        request.response().end("Missing key");
                        return;
                    }

                    db.del(domain.namespace + "&" + key, new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                request.response().setContentType("application/json");
                                request.response().end("\"OK\"");
                            }
                        }
                    });
                }
            })
            .get("/admin/export", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    db.keys(domain.namespace + "&*", new Handler<Message<JsonObject>>() {
                        @Override
                        public void handle(Message<JsonObject> message) {
                            if (!"ok".equals(message.body().getString("status"))) {
                                next.handle(message.body().getString("message"));
                            } else {
                                // need to iterate all json array elements and get from redis
                                new AsyncIterator<Object>(message.body().getArray("value")) {

                                    final JsonArray buffer = new JsonArray();

                                    @Override
                                    public void handle(Object o) {
                                        if (hasNext()) {
                                            final String key = (String) o;
                                            db.get(domain.namespace + "&" + key, new Handler<Message<JsonObject>>() {
                                                @Override
                                                public void handle(Message<JsonObject> message) {
                                                    if (!"ok".equals(message.body().getString("status"))) {
                                                        next.handle(message.body().getString("message"));
                                                    } else {
                                                        JsonObject json = new JsonObject();
                                                        json.putString("key", key);
                                                        json.putString("value", message.body().getString("value"));
                                                        buffer.addObject(json);

                                                        next();
                                                    }
                                                }
                                            });
                                        } else {
                                            YokeResponse response = request.response();

                                            String filename = System.currentTimeMillis() + "_export.kit";

                                            response.putHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
                                            response.end(buffer);
                                        }
                                    }
                                };
                            }
                        }
                    });
                }
            })
            .post("/admin/import", new Middleware() {
                @Override
                public void handle(final YokeRequest request, final Handler<Object> next) {
                    final Config.Domain domain = request.get("domain");

                    final YokeFileUpload file = request.getFile("file");

                    fileSystem.readFile(file.path(), new AsyncResultHandler<Buffer>() {
                        @Override
                        public void handle(AsyncResult<Buffer> read) {
                            // delete the temp file
                            file.delete();
                            // parse
                            JsonArray json = new JsonArray(read.result().toString());
                            // iterate
                            new AsyncIterator<Object>(json) {
                                @Override
                                public void handle(Object o) {
                                    if (hasNext()) {
                                        final JsonObject json = (JsonObject) o;
                                        db.set(domain.namespace + "&" + json.getString("key"), json.getString("value"), new Handler<Message<JsonObject>>() {
                                            @Override
                                            public void handle(Message<JsonObject> message) {
                                                if (!"ok".equals(message.body().getString("status"))) {
                                                    next.handle(message.body().getString("message"));
                                                } else {
                                                    next();
                                                }
                                            }
                                        });
                                    } else {
                                        request.response().redirect("/admin");
                                    }
                                }
                            };
                        }
                    });
                }
            }));

        // if the request fall through it is a view to render from the db
        yoke.use(new Middleware() {
            @Override
            public void handle(final YokeRequest request, final Handler<Object> next) {
                final Config.Domain domain = request.get("domain");
                final String file = request.path().toLowerCase();

                db.get(domain.namespace + "&" + file, new Handler<Message<JsonObject>>() {
                    @Override
                    public void handle(Message<JsonObject> message) {
                        if (!"ok".equals(message.body().getString("status"))) {
                            next.handle(message.body().getString("message"));
                        } else {
                            if (message.body().getValue("value") == null) {
                                // if nothing is found on the database proceed with the chain
                                next.handle(null);
                            } else {
                                request.response().setContentType(MimeType.getMime(file, "text/html"));
                                request.response().end(message.body().getString("value"));
                            }
                        }
                    }
                });
            }
        });

        yoke.listen(config.serverPort, config.serverAddress);
        container.logger().info("Vert.x Server listening on " + config.serverAddress + ":" + config.serverPort);
    }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class ExtrasExample extends Verticle {

    @Override
    public void start() {
        final Yoke yoke = new Yoke(this);
        yoke.engine("hbs", new HandlebarsEngine("views"));

        yoke.use(new BodyParser());
        yoke.use(new ErrorHandler(true));

        JsonObject persistorCfg = new JsonObject();
        persistorCfg.putString("host", "localhost");
        persistorCfg.putNumber("port", 27017);
        persistorCfg.putString("address", "mongo.persons");
        persistorCfg.putString("db_name", "yoke");

        final EventBus eb = vertx.eventBus();

        // deploy mongo module
        container.deployModule("io.vertx~mod-mongo-persistor~2.0.0-final", persistorCfg);

        // db access
        final MongoDbStore db = new MongoDbStore(eb, "mongo.persons");

        JsonRestRouter router = new JsonRestRouter(db);
        router.rest("/persons", "persons");

        yoke.use(router);

        yoke.use(new Handler<YokeRequest>() {
            @Override
            public void handle(YokeRequest request) {

                List<Map> users = new ArrayList<>();
                Map<String, String> user;

                user = new HashMap<>();
                user.put("username", "alan");
                user.put("firstName", "Alan");
                user.put("lastName", "Johnson");
                user.put("email", "alan@test.com");
                users.add(user);

                user = new HashMap<>();
                user.put("username", "allison");
                user.put("firstName", "Allison");
                user.put("lastName", "House");
                user.put("email", "allison@test.com");
                users.add(user);

                user = new HashMap<>();
                user.put("username", "ryan");
                user.put("firstName", "Ryan");
                user.put("lastName", "Carson");
                user.put("email", "ryan@test.com");
                users.add(user);

                request.put("users", users);
                request.response().render("handlebars.hbs");
            }
        });

        yoke.listen(8080);

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

Examples of com.jetdrone.vertx.yoke.Yoke

            public void handle(YokeRequest request, Handler<Object> next) {
                next.handle(null);
            }
        };

        new Yoke(this)
                .use(new BodyParser())
                .use("/middleware", foo)
                .use("/middleware", foo)
                .use("/middleware", foo)
                .use("/middleware", foo)
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class MiddlewareTest extends TestVerticle {

    @Test
    public void testMiddleware() {
        final Yoke yoke = new Yoke(this);

        yoke.use(new AbstractMiddleware() {
            @Override
            public void handle(@NotNull YokeRequest request, @NotNull Handler<Object> next) {
                assertNotNull(this.yoke);
                testComplete();
            }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class JWTTest extends TestVerticle {

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

        JWT jwt = new JWT(yoke.security());
        testComplete();
    }
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        testComplete();
    }

    @Test
    public void testJWT2() {
        Yoke yoke = new Yoke(this);
        yoke.secretSecurity("keyboard cat");

        JWT jwt = new JWT(yoke.security());

        long now = System.currentTimeMillis();

        JsonObject json = new JsonObject()
                .putString("name", "Paulo Lopes")
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

public class Jade4JEngineTest extends TestVerticle {

    @Test
    public void testEngine() {
        Yoke yoke = new Yoke(this);
        yoke.engine("jade", new Jade4JEngine("views"));
        yoke.use(new Middleware() {
            @Override
            public void handle(YokeRequest request, Handler<Object> next) {
                request.response().render("template.jade");
            }
        });
View Full Code Here

Examples of com.jetdrone.vertx.yoke.Yoke

        });
    }

    @Test
    public void testEngine2() {
        Yoke yoke = new Yoke(this);
        yoke.engine("jade", new Jade4JEngine("views"));
        yoke.use(new Middleware() {
            @Override
            public void handle(YokeRequest request, Handler<Object> next) {
                request.put("pageName", "Vert.X Test");
                request.response().render("template2.jade");
            }
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.