Package org.vertx.java.core

Examples of org.vertx.java.core.MultiMap


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

        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("content-type", "application/json");
        headers.add("content-length", "0");

        new YokeTester(yoke).request("POST", "/api", headers, null, new Handler<Response>() {
            @Override
            public void handle(Response resp) {
                assertEquals(400, resp.getStatusCode());
View Full Code Here


    private void route(final YokeRequest request, final PatternBinding binding, final Handler<Object> next) {
        final Matcher m = binding.pattern.matcher(request.path());
        final Vertx vertx = vertx();
       
        if (m.matches()) {
            final MultiMap params = request.params();

            if (binding.paramNames != null) {
                // Named params
                new AsyncIterator<String>(binding.paramNames) {
                    @Override
                    public void handle(String param) {
                        if (hasNext()) {
                            params.set(param, m.group(param));
                            final Middleware paramMiddleware = paramProcessors.get(param);
                            if (paramMiddleware != null) {
                                // do not block main loop
                                vertx.runOnContext(new Handler<Void>() {
                                    @Override
                                    public void handle(Void event) {
                                        paramMiddleware.handle(request, new Handler<Object>() {
                                            @Override
                                            public void handle(Object err) {
                                                if (err == null) {
                                                    next();
                                                } else {
                                                    next.handle(err);
                                                }
                                            }
                                        });
                                    }
                                });
                            } else {
                                next();
                            }
                        } else {
                            // middlewares
                            new AsyncIterator<Middleware>(binding.middleware) {
                                @Override
                                public void handle(final Middleware middleware) {
                                    if (hasNext()) {
                                        // do not block main loop
                                        vertx.runOnContext(new Handler<Void>() {
                                            @Override
                                            public void handle(Void event) {
                                                middleware.handle(request, new Handler<Object>() {
                                                    @Override
                                                    public void handle(Object err) {
                                                        if (err == null) {
                                                            next();
                                                        } else {
                                                            next.handle(err);
                                                        }
                                                    }
                                                });
                                            }
                                        });
                                    } else {
                                        next.handle(null);
                                    }
                                }
                            };
                        }
                    }
                };
            } else {
                // Un-named params
                for (int i = 0; i < m.groupCount(); i++) {
                    params.set("param" + i, m.group(i + 1));
                }

                // middlewares
                new AsyncIterator<Middleware>(binding.middleware) {
                    @Override
View Full Code Here

                assertEquals("DELETE", request.method());
                request.response().end();
            }
        });

        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("x-http-setMethod-override", "DELETE");

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

            }
        });

        Buffer body = new Buffer("_method=delete");

        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("content-type", "application/x-www-form-urlencoded");
        headers.add("content-length", Integer.toString(body.length()));

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

            }
        });

        Buffer body = new Buffer(json.encode());

        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("content-type", "application/json");
        headers.add("content-length", Integer.toString(body.length()));

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

                request.response().end(request.accepts("text"));
            }
        });

        // second time send the authorization header
        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("accept", "text/plain; q=0.5, application/json, text/html; q=0.8, text/xml");
        // expected order is:
        // application/json
        // text/xml
        // text/html
        // text/plain
View Full Code Here

                testComplete();
            }
        });

        // second time send the authorization header
        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("x-forward-for", "123.456.123.456, 111.111.11.11");

        new YokeTester(yoke).request("GET", "/", headers, null);
    }
View Full Code Here

                testComplete();
            }
        });

        // second time send the authorization header
        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("Accept-Language", "en-gb;q=0.8, en;q=0.7, da_DK;q=0.9");

        new YokeTester(yoke).request("GET", "/", headers, null);
    }
View Full Code Here

                testComplete();
            }
        });

        // second time send the authorization header
        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("Accept-Language", "da, en-gb;q=0.8, en;q=0.7");

        new YokeTester(yoke).request("GET", "/", headers, null);
    }
View Full Code Here

                testComplete();
            }
        });

        // second time send the authorization header
        MultiMap headers = new CaseInsensitiveMultiMap();
        headers.add("Accept-Language", "en-gb");

        new YokeTester(yoke).request("GET", "/", headers, null);
    }
View Full Code Here

TOP

Related Classes of org.vertx.java.core.MultiMap

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.