List of usage examples for io.vertx.core.json JsonObject getInteger
public Integer getInteger(String key, Integer def)
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); }); }