Search in sources :

Example 6 with HttpServer

use of io.vertx.reactivex.core.http.HttpServer in project vertx-zero by silentbalanceyh.

the class ZeroRxAgent method start.

@Override
public void start() {
    /**
     * 1.Call router hub to mount commont *
     */
    final Axis<Router> routerAxiser = Fn.poolThread(Pool.ROUTERS, () -> Instance.instance(RouterAxis.class));
    /**
     * 2.Call route hub to mount defined *
     */
    final Axis<Router> axiser = Fn.poolThread(Pool.EVENTS, () -> Instance.instance(EventAxis.class));
    /**
     * 3.Get the default HttpServer Options *
     */
    ZeroAtomic.RX_OPTS.forEach((port, option) -> {
        /**
         * 3.1.Single server processing *
         */
        final HttpServer server = this.vertx.createHttpServer(option);
        /**
         * 3.2. Build router with current option *
         */
        final Router router = Router.router(this.vertx);
        routerAxiser.mount(router);
        axiser.mount(router);
        /**
         * 3.3. Listen for router on the server *
         */
        final Single<HttpServer> result = server.requestHandler(router::accept).rxListen();
        /**
         * 3.4. Log output *
         */
        {
            result.subscribe((rxServer) -> {
                recordServer(option, router);
            });
        }
    });
}
Also used : ZeroAtomic(io.vertx.up.micro.ZeroAtomic) HttpServer(io.vertx.reactivex.core.http.HttpServer) Fn(io.vertx.up.func.Fn) Router(io.vertx.reactivex.ext.web.Router) ServerType(io.vertx.up.eon.em.ServerType) RouterAxis(io.vertx.rx.rs.router.RouterAxis) Route(io.vertx.reactivex.ext.web.Route) Single(io.reactivex.Single) Instance(io.vertx.up.tool.mirror.Instance) MessageFormat(java.text.MessageFormat) List(java.util.List) Axis(io.vertx.up.rs.Axis) Values(io.vertx.zero.eon.Values) TreeMap(java.util.TreeMap) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) Annal(io.vertx.up.log.Annal) HttpServerOptions(io.vertx.core.http.HttpServerOptions) AbstractVerticle(io.vertx.reactivex.core.AbstractVerticle) EventAxis(io.vertx.rx.rs.router.EventAxis) Agent(io.vertx.up.annotations.Agent) EventAxis(io.vertx.rx.rs.router.EventAxis) RouterAxis(io.vertx.rx.rs.router.RouterAxis) HttpServer(io.vertx.reactivex.core.http.HttpServer) Router(io.vertx.reactivex.ext.web.Router)

Example 7 with HttpServer

use of io.vertx.reactivex.core.http.HttpServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    HttpServer server = vertx.createHttpServer();
    server.requestStream().toFlowable().subscribe(req -> {
        req.response().putHeader("content-type", "text/html").end("<html><body><h1>Hello from vert.x!</h1></body></html>");
    });
    server.listen(8080);
}
Also used : HttpServer(io.vertx.reactivex.core.http.HttpServer)

Example 8 with HttpServer

use of io.vertx.reactivex.core.http.HttpServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    Router router = Router.router(vertx);
    router.route().handler(BodyHandler.create());
    router.route().handler(req -> req.response().putHeader("content-type", "text/html").end("<html><body><h1>Hello from vert.x!</h1></body></html>"));
    HttpServer server = vertx.createHttpServer();
    server.requestStream().toFlowable().map(HttpServerRequest::pause).onBackpressureDrop(req -> req.response().setStatusCode(503).end()).observeOn(RxHelper.scheduler(vertx.getDelegate())).subscribe(req -> {
        req.resume();
        router.accept(req);
    });
    server.rxListen(PORT).subscribe(res -> generateRequests());
}
Also used : HttpServer(io.vertx.reactivex.core.http.HttpServer) Router(io.vertx.reactivex.ext.web.Router)

Example 9 with HttpServer

use of io.vertx.reactivex.core.http.HttpServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    HttpServer server = vertx.createHttpServer();
    server.requestStream().toFlowable().subscribe(req -> {
        req.response().putHeader("content-type", "text/html").end("<html><body><h1>Hello from vert.x!</h1></body></html>");
    });
    server.listen(8080);
}
Also used : HttpServer(io.vertx.reactivex.core.http.HttpServer)

Example 10 with HttpServer

use of io.vertx.reactivex.core.http.HttpServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    HttpServer server = vertx.createHttpServer();
    server.requestStream().toFlowable().subscribe(req -> {
        req.response().putHeader("content-type", "application/json").end(new JsonObject().put("time", System.currentTimeMillis()).toString());
    });
    server.listen(8080);
}
Also used : HttpServer(io.vertx.reactivex.core.http.HttpServer) JsonObject(io.vertx.core.json.JsonObject)

Aggregations

HttpServer (io.vertx.reactivex.core.http.HttpServer)11 Router (io.vertx.reactivex.ext.web.Router)3 HttpServerOptions (io.vertx.core.http.HttpServerOptions)2 JsonObject (io.vertx.core.json.JsonObject)2 StartService (in.erail.glue.annotation.StartService)1 Single (io.reactivex.Single)1 AbstractVerticle (io.vertx.reactivex.core.AbstractVerticle)1 HttpServerResponse (io.vertx.reactivex.core.http.HttpServerResponse)1 Route (io.vertx.reactivex.ext.web.Route)1 EventAxis (io.vertx.rx.rs.router.EventAxis)1 RouterAxis (io.vertx.rx.rs.router.RouterAxis)1 Agent (io.vertx.up.annotations.Agent)1 ServerType (io.vertx.up.eon.em.ServerType)1 Fn (io.vertx.up.func.Fn)1 Annal (io.vertx.up.log.Annal)1 ZeroAtomic (io.vertx.up.micro.ZeroAtomic)1 Axis (io.vertx.up.rs.Axis)1 Instance (io.vertx.up.tool.mirror.Instance)1 Values (io.vertx.zero.eon.Values)1 MessageFormat (java.text.MessageFormat)1