Example usage for io.vertx.core.json JsonObject getInteger

List of usage examples for io.vertx.core.json JsonObject getInteger

Introduction

In this page you can find the example usage for io.vertx.core.json JsonObject getInteger.

Prototype

public Integer getInteger(String key, Integer def) 

Source Link

Document

Like #getInteger(String) but specifying a default value to return if there is no entry.

Usage

From source file:fr.wseduc.rack.controllers.RackController.java

License:Open Source License

@Override
public void init(Vertx vertx, JsonObject config, RouteMatcher rm,
        Map<String, fr.wseduc.webutils.security.SecuredAction> securedActions) {
    super.init(vertx, config, rm, securedActions);
    this.threshold = config.getInteger("alertStorage", 80);
    String node = (String) vertx.sharedData().getLocalMap("server").get("node");
    if (node == null) {
        node = "";
    }//w w w  .j a v a 2  s  . com
    this.imageResizerAddress = node + config.getString("image-resizer-address", "wse.image.resizer");
    this.timelineHelper = new TimelineHelper(vertx, eb, config);
    this.eventStore = EventStoreFactory.getFactory().getEventStore(Rack.class.getSimpleName());
}

From source file:io.flowly.engine.data.manager.FlowInstanceReadManager.java

License:Open Source License

public Handler<Message<Object>> getInboxHandler() {
    return message -> {
        JsonObject args = (JsonObject) message.body();
        // TODO: Configure default values.
        message.reply(getInbox(args.getString(JsonKeys.SUBJECT_ID), args.getInteger(JsonKeys.PAGE_NUMBER, 1),
                args.getInteger(JsonKeys.PAGE_SIZE, 50)));
    };/*  ww w.j ava 2 s. co  m*/
}

From source file:io.nitor.api.backend.NitorBackend.java

License:Apache License

private void setupStaticFiles(JsonObject service, ServiceRouterBuilder routerBuilder) {
    int cacheTimeout = service.getInteger("cacheTimeout", (int) MINUTES.toSeconds(30));
    routerBuilder.route(GET, service.getString("route"),
            StaticHandler.create().setFilesReadOnly(service.getBoolean("readOnly", true))
                    .setAllowRootFileSystemAccess(true).setWebRoot(service.getString("dir", "."))
                    .setCachingEnabled(cacheTimeout > 0).setCacheEntryTimeout(cacheTimeout),
            null);//www  .ja  v a2s  . co  m
    String staticPathConfig = service.getString("staticPaths");
    if (staticPathConfig != null) {
        Pattern staticPaths = Pattern.compile(staticPathConfig);
        String routePrefix = service.getString("route");
        String cleanRoute = cleanRoute(routePrefix);
        routerBuilder.route(GET, routePrefix, ctx -> {
            String normalised = ctx.normalisedPath().substring(1);
            if (!staticPaths.matcher(normalised).matches()) {
                ctx.reroute(cleanRoute + "/index.html");
            } else {
                ctx.next();
            }
        }, null);
    }

}

From source file:io.nitor.api.backend.proxy.SetupProxy.java

License:Apache License

public static void setupProxy(Vertx vertx, ServiceRouterBuilder routerBuilder, JsonObject proxyConf,
        HttpServerOptions serverOptions, boolean isOrigReqHttps) {
    boolean ssl = proxyConf.getBoolean("ssl", false);

    HttpClient client = vertx.createHttpClient(new HttpClientOptions()
            .setConnectTimeout((int) SECONDS.toMillis(proxyConf.getInteger("connectTimeout", 10)))
            .setIdleTimeout((int) SECONDS.toSeconds(proxyConf.getInteger("idleTimeout", 15)))
            .setMaxPoolSize(proxyConf.getInteger("maxPoolSize", 30))
            .setPipelining(proxyConf.getInteger("pipelineDepth", 0) > 1)
            .setPipeliningLimit(proxyConf.getInteger("pipelineDepth", 1)).setMaxWaitQueueSize(100)
            .setUsePooledBuffers(true).setProtocolVersion(HTTP_1_1).setTryUseCompression(false).setSsl(ssl));

    String prefix = proxyConf.getString("path", "");
    if (prefix.endsWith("/")) {
        prefix = prefix.substring(0, prefix.length() - 1);
    }//from   w  w w.  j  a  v  a  2 s.  co  m
    String route = proxyConf.getString("route", "");
    if (route.endsWith("*")) {
        route = route.substring(0, route.length() - 1);
    }
    if (route.endsWith("/")) {
        route = route.substring(0, route.length() - 1);
    }

    final String proxyRoute = route;
    final Proxy.Target proxyTarget = new Proxy.Target(proxyConf.getString("host"), proxyConf.getInteger("port"),
            prefix, proxyConf.getString("hostHeader"));
    logger.info("Proxying {} to {}://{}:{}/{}", route, ssl ? "https" : "http", proxyTarget.socketHost,
            proxyTarget.socketPort, proxyTarget.uri);

    Proxy proxy = new Proxy(client, (routingContext, targetHandler) -> {
        String suffix = routingContext.request().uri().substring(proxyRoute.length());
        targetHandler.handle(proxyTarget.withSuffix(suffix));
    }, serverOptions.getIdleTimeout(), proxyConf.getInteger("clientReceiveTimeout", 300), isOrigReqHttps,
            SimpleLogProxyTracer::new, new DefaultPumpStarter());

    if (proxyConf.getJsonObject("addHeaders") != null) {
        final Map<String, String> addHeaders = new HashMap<>();
        for (Map.Entry<String, Object> entry : proxyConf.getJsonObject("addHeaders")) {
            addHeaders.put(entry.getKey(), entry.getValue().toString());
        }
        proxy.addHeaders(addHeaders);
    }

    routerBuilder.route(proxyConf.getString("route"), proxy::handle, routingContext -> {
        if (routingContext.failed()) {
            Throwable error = routingContext.failure();
            logger.warn("General failure handler", error);
            String statusMsg = "";
            int statusCode = BAD_GATEWAY.code();
            if (error instanceof ProxyException) {
                ProxyException ex = (ProxyException) error;
                statusCode = ex.statusCode;
                if (ex.getCause() != null) {
                    statusMsg = ex.getCause().getMessage();
                } else if (ex.reason == RejectReason.noHostHeader) {
                    statusMsg = "Exhausted resources while trying to extract Host header from the request";
                }
            }
            if (!routingContext.response().headWritten() && !routingContext.response().ended()) {
                routingContext.response().setStatusCode(statusCode);
                routingContext.response().headers().set("content-type", "text/plain;charset=UTF-8");
                routingContext.response().end(statusMsg);
            }
        } else {
            routingContext.next();
        }
    });
}

From source file:io.nitor.api.backend.s3.S3Handler.java

License:Apache License

public S3Handler(Vertx vertx, JsonObject conf, int routeLength) {
    this.routeLength = routeLength;

    indexFile = conf.getString("indexFile", "index.html");

    String staticPathConfig = conf.getString("staticPaths");
    staticPaths = staticPathConfig != null ? Pattern.compile(staticPathConfig) : null;

    String region = resolveRegion(conf).toString();
    this.s3Host = ("us-east-1".equals(region) ? "s3" : "s3-" + region) + ".amazonaws.com";

    String bucket = conf.getString("bucket");
    String basePath = '/' + bucket + '/' + conf.getString("path", "");
    basePathComponents = PathComponent.splitPath(basePath);

    AwsCredentialsProvider secretsProvider = resolveCredentialsProvider(conf);
    signer = new AWSRequestSigner(region, s3Host, secretsProvider);

    JsonArray operations = conf.getJsonArray("operations", new JsonArray().add("GET"));
    operations.forEach(op -> allowedMethods.add(HttpMethod.valueOf(op.toString())));

    http = vertx.createHttpClient(new HttpClientOptions()
            .setConnectTimeout((int) SECONDS.toMillis(conf.getInteger("connectTimeout", 5)))
            .setIdleTimeout((int) SECONDS.toSeconds(conf.getInteger("idleTimeout", 60)))
            .setMaxPoolSize(conf.getInteger("maxPoolSize", 100)).setPipelining(false).setMaxWaitQueueSize(100)
            .setUsePooledBuffers(true).setProtocolVersion(HTTP_1_1).setMaxRedirects(5)
            .setTryUseCompression(false));
}

From source file:io.nitor.api.backend.session.CookieConverter.java

License:Apache License

public CookieConverter(JsonObject sessionConf, int maxAge) {
    this.cookieName = sessionConf.getString("cookieName", "__Host-auth");
    this.encryptor = new Encryptor(sessionConf);
    this.maxAge = maxAge;
    this.maxCacheSize = sessionConf.getInteger("maxCookieCacheSize", 10_000);
}

From source file:io.nitor.api.backend.session.CookieSessionHandler.java

License:Apache License

CookieSessionHandler(JsonObject sessionConf, CookieConverter cookieConverter) {
    serverName = sessionConf.getString("serverName");
    maxAge = sessionConf.getInteger("sessionAge", (int) DAYS.toSeconds(14));
    this.cookieConverter = cookieConverter == null ? new CookieConverter(sessionConf, maxAge) : cookieConverter;
}

From source file:io.nitor.api.backend.tls.SetupHttpServerOptions.java

License:Apache License

public static HttpServerOptions createHttpServerOptions(JsonObject config) {
    JsonObject tls = config.getJsonObject("tls");
    HttpServerOptions httpOptions = new HttpServerOptions()
            // basic TCP/HTTP options
            .setReuseAddress(true).setCompressionSupported(false) // otherwise it automatically compresses based on response headers even if pre-compressed with e.g. proxy
            .setUsePooledBuffers(true).setCompressionLevel(2)
            .setIdleTimeout(config.getInteger("idleTimeout", (int) MINUTES.toSeconds(10)));

    if (!config.getBoolean("http2", true)) {
        httpOptions.setAlpnVersions(asList(HTTP_1_1));
    }//from w  w w  .j  av  a2s  .c  o m

    if (tls != null) {
        httpOptions.setSsl(true)
                // server side certificate
                .setPemKeyCertOptions(new PemKeyCertOptions().setKeyPath(tls.getString("serverKey"))
                        .setCertPath(tls.getString("serverCert")))
                // TLS tuning
                .addEnabledSecureTransportProtocol("TLSv1.2").addEnabledSecureTransportProtocol("TLSv1.3");

        JsonObject clientAuth = config.getJsonObject("clientAuth");
        if (httpOptions.isSsl() && clientAuth != null && clientAuth.getString("clientChain") != null) {
            // client side certificate
            httpOptions.setClientAuth(REQUEST)
                    .setTrustOptions(new PemTrustOptions().addCertPath(clientAuth.getString("clientChain")));
        }
        if (TRUE.equals(config.getBoolean("useNativeOpenSsl"))) {
            httpOptions.setUseAlpn(true).setSslEngineOptions(new OpenSSLEngineOptions());
            cipherSuites.stream().map(SetupHttpServerOptions::javaCipherNameToOpenSSLName)
                    .forEach(httpOptions::addEnabledCipherSuite);
        } else {
            httpOptions.setUseAlpn(DynamicAgent.enableJettyAlpn())
                    .setJdkSslEngineOptions(new JdkSSLEngineOptions());
            cipherSuites.forEach(httpOptions::addEnabledCipherSuite);
        }
    }

    return httpOptions;
}

From source file:io.openshift.booster.service.impl.JdbcProductStore.java

License:Apache License

@Override
public Single<JsonObject> create(JsonObject item) {
    if (item == null) {
        return Single.error(new IllegalArgumentException("The item must not be null"));
    }/*from ww w .  j  a  va 2 s . c om*/
    if (item.getString("name") == null || item.getString("name").isEmpty()) {
        return Single.error(new IllegalArgumentException("The name must not be null or empty"));
    }
    if (item.getInteger("stock", 0) < 0) {
        return Single.error(new IllegalArgumentException("The stock must greater or equal to 0"));
    }
    if (item.containsKey("id")) {
        return Single.error(new IllegalArgumentException("The created item already contains an 'id'"));
    }

    return db.rxGetConnection().flatMap(conn -> {
        JsonArray params = new JsonArray().add(item.getValue("name")).add(item.getValue("stock", 0));
        return conn.rxUpdateWithParams(INSERT, params).map(ur -> item.put("id", ur.getKeys().getLong(0)))
                .doAfterTerminate(conn::close);
    });
}

From source file:io.openshift.booster.service.impl.JdbcProductStore.java

License:Apache License

@Override
public Completable update(long id, JsonObject item) {
    if (item == null) {
        return Completable.error(new IllegalArgumentException("The item must not be null"));
    }//from w  ww  . ja  v  a2s.  c o m
    if (item.getString("name") == null || item.getString("name").isEmpty()) {
        return Completable.error(new IllegalArgumentException("The name must not be null or empty"));
    }
    if (item.getInteger("stock", 0) < 0) {
        return Completable.error(new IllegalArgumentException("The stock must greater or equal to 0"));
    }
    if (item.containsKey("id") && id != item.getInteger("id")) {
        return Completable.error(new IllegalArgumentException("The 'id' cannot be changed"));
    }

    return db.rxGetConnection().flatMapCompletable(conn -> {
        JsonArray params = new JsonArray().add(item.getValue("name")).add(item.getValue("stock", 0)).add(id);
        return conn.rxUpdateWithParams(UPDATE, params).flatMapCompletable(up -> {
            if (up.getUpdated() == 0) {
                return Completable.error(new NoSuchElementException("Unknown item '" + id + "'"));
            }
            return Completable.complete();
        }).doAfterTerminate(conn::close);
    });
}