List of usage examples for io.vertx.core.http HttpServerRequest resume
@Override
HttpServerRequest resume();
From source file:com.englishtown.vertx.jersey.impl.DefaultJerseyHandler.java
License:Open Source License
protected void handle(final HttpServerRequest vertxRequest, final InputStream inputStream, final ContainerRequest jerseyRequest) { // Provide the vertx response writer jerseyRequest.setWriter(responseWriterProvider.get(vertxRequest, jerseyRequest)); // Set entity stream if provided (form posts) if (inputStream != null) { jerseyRequest.setEntityStream(inputStream); }/* w w w . j a va 2 s . co m*/ // Copy headers for (Map.Entry<String, String> header : vertxRequest.headers().entries()) { jerseyRequest.getHeaders().add(header.getKey(), header.getValue()); } // Set request scoped instances jerseyRequest.setRequestScopedInitializer(locator -> { locator.<Ref<HttpServerRequest>>getService((new TypeLiteral<Ref<HttpServerRequest>>() { }).getType()).set(vertxRequest); locator.<Ref<HttpServerResponse>>getService((new TypeLiteral<Ref<HttpServerResponse>>() { }).getType()).set(vertxRequest.response()); }); // Call vertx before request processors if (!requestProcessors.isEmpty()) { // Pause the vert.x request if we haven't already read the body if (inputStream == null) { vertxRequest.pause(); } callVertxRequestProcessor(0, vertxRequest, jerseyRequest, aVoid -> { // Resume the vert.x request if we haven't already read the body if (inputStream == null) { vertxRequest.resume(); } applicationHandlerDelegate.handle(jerseyRequest); }); } else { applicationHandlerDelegate.handle(jerseyRequest); } }
From source file:fr.wseduc.rack.controllers.RackController.java
License:Open Source License
private Handler<HttpServerFileUpload> getUploadHandler(final Buffer fileBuffer, final JsonObject metadata, final HttpServerRequest request) { return new Handler<HttpServerFileUpload>() { @Override/*from w w w . j a va2s .c o m*/ public void handle(final HttpServerFileUpload upload) { upload.handler(new Handler<Buffer>() { @Override public void handle(Buffer data) { fileBuffer.appendBuffer(data); } }); upload.endHandler(new Handler<Void>() { @Override public void handle(Void v) { metadata.put("name", upload.name()); metadata.put("filename", upload.filename()); metadata.put("content-type", upload.contentType()); metadata.put("content-transfer-encoding", upload.contentTransferEncoding()); metadata.put("charset", upload.charset()); metadata.put("size", upload.size()); if (metadata.getLong("size", 0l).equals(0l)) { metadata.put("size", fileBuffer.length()); } if (storage.getValidator() != null) { request.pause(); storage.getValidator().process(metadata, new JsonObject(), new Handler<AsyncResult<Void>>() { @Override public void handle(AsyncResult<Void> voidAsyncResult) { if (voidAsyncResult.succeeded()) { request.resume(); } else { badRequest(request, voidAsyncResult.cause().getMessage()); return; } } }); } } }); } }; }
From source file:io.github.cdelmas.spike.vertx.infrastructure.auth.BearerAuthHandler.java
License:Apache License
@Override public void handle(RoutingContext routingContext) { HttpServerRequest request = routingContext.request(); request.pause();//from w w w .ja va 2 s. co m String authorization = request.headers().get(HttpHeaders.AUTHORIZATION); if (authorization == null) { routingContext.fail(401); } else { String[] parts = authorization.split(" "); if (parts.length != 2) { routingContext.fail(401); } else { String scheme = parts[0]; if (!"bearer".equalsIgnoreCase(scheme)) { routingContext.fail(401); } else { String token = parts[1]; JsonObject credentials = new JsonObject(); credentials.put("token", token); authProvider.authenticate(credentials, res -> { if (res.succeeded()) { routingContext.setUser(res.result()); request.resume(); routingContext.next(); } else { routingContext.fail(401); } }); } } } }
From source file:org.entcore.auth.controllers.SamlController.java
License:Open Source License
@Post("/saml/post/sso/") public void ssoredirectPost(final HttpServerRequest request) { log.info("ssoredirect POST called"); request.setExpectMultipart(true);//from ww w .j a va 2s.co m request.pause(); request.endHandler(new Handler<Void>() { @Override public void handle(Void v) { ssoRedirect(request.formAttributes().get("SAMLRequest"), request); } }); request.resume(); }
From source file:org.entcore.auth.security.AuthResourcesProvider.java
License:Open Source License
private void isClassTeacher(final HttpServerRequest request, UserInfos user, final Handler<Boolean> handler) { request.pause();//from w w w.j a v a 2s. co m if (user.getFunctions() != null && user.getFunctions().containsKey("SUPER_ADMIN")) { request.resume(); handler.handle(true); return; } String id = request.params().get("userId"); if (id == null || id.trim().isEmpty()) { handler.handle(false); return; } String query = ""; if (user.getFunctions() != null && user.getFunctions().containsKey(DefaultFunctions.ADMIN_LOCAL)) { query = "MATCH (t:User { id : {teacherId}})-[:IN]->(fg:FunctionGroup)-[:DEPENDS]->(s:Structure)" + "<-[:DEPENDS]-(og:ProfileGroup)<-[:IN]-(u:User {id : {id}}) " + "WHERE fg.name =~ \".*AdminLocal.*\"" + "RETURN count(*) >= 1 as exists "; } else { query = "MATCH (t:User { id : {teacherId}})-[:IN]->(pg:ProfileGroup)-[:DEPENDS]->(c:Class)" + "<-[:DEPENDS]-(og:ProfileGroup)<-[:IN]-(u:User {id : {id}}) " + "RETURN count(*) >= 1 as exists "; } JsonObject params = new JsonObject().put("id", id).put("teacherId", user.getUserId()); neo.execute(query, params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { JsonArray res = r.body().getJsonArray("result"); request.resume(); handler.handle("ok".equals(r.body().getString("status")) && res.size() == 1 && (res.getJsonObject(0)).getBoolean("exists", false)); } }); }
From source file:org.entcore.blog.security.BlogResourcesProvider.java
License:Open Source License
private void hasRightOnPost(final HttpServerRequest request, final UserInfos user, final Handler<Boolean> handler, String action) { String postId = request.params().get("postId"); if (StringUtils.isEmpty(postId)) { handler.handle(false);/*from w ww. j a v a 2 s .com*/ return; } // QueryBuilder query = QueryBuilder.start("_id").is(postId); request.pause(); mongo.findOne("posts", MongoQueryBuilder.build(query), null, new JsonArray().add("blog"), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { request.resume(); if ("ok".equals(event.body().getString("status"))) { JsonObject res = event.body().getJsonObject("result"); if (res == null) { handler.handle(false); return; } /** * Is author? */ if (res.getJsonObject("author") != null && user.getUserId().equals(res.getJsonObject("author").getString("userId"))) { handler.handle(true); return; } if (res.getJsonObject("blog") != null && res.getJsonObject("blog").getJsonArray("shared") != null) { /** * is author? */ String blogAuthorId = res.getJsonObject("blog") .getJsonObject("author", new JsonObject()).getString("userId"); if (blogAuthorId != null && blogAuthorId.equals(user.getUserId())) { handler.handle(true); return; } /** * has right action? */ for (Object o : res.getJsonObject("blog").getJsonArray("shared")) { if (!(o instanceof JsonObject)) continue; JsonObject json = (JsonObject) o; if (json != null && json.getBoolean(action, false) && (user.getUserId().equals(json.getString("userId")) || user.getGroupsIds().contains(json.getString("groupId")))) { handler.handle(true); return; } } } handler.handle(false); } } }); }
From source file:org.entcore.blog.security.BlogResourcesProvider.java
License:Open Source License
private void executeCountQuery(final HttpServerRequest request, String collection, JsonObject query, final int expectedCountResult, final Handler<Boolean> handler) { request.pause();//from w w w . j a va 2s .co m mongo.count(collection, query, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { request.resume(); JsonObject res = event.body(); handler.handle(res != null && "ok".equals(res.getString("status")) && expectedCountResult == res.getInteger("count")); } }); }
From source file:org.entcore.common.bus.WorkspaceHelper.java
License:Open Source License
private void uploadDocument(final HttpServerRequest request, final String id, final String name, final String application, final boolean protectedContent, final JsonArray thumbs, final Handler<AsyncResult<Message<JsonObject>>> handler) { UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override/* www. ja v a 2 s .co m*/ public void handle(final UserInfos userInfos) { if (userInfos != null) { request.resume(); storage.writeUploadFile(request, new Handler<JsonObject>() { @Override public void handle(final JsonObject up) { if (up != null && !"error".equals(up.getString("status"))) { Handler<AsyncResult<Message<JsonObject>>> h = message -> { if (message.failed()) { storage.removeFile(up.getString("_id"), new Handler<JsonObject>() { @Override public void handle(JsonObject event) { if (!"ok".equals(event.getString("status"))) { log.error("Error removing file " + up.getString("_id") + " : " + event.getString("message")); } } }); } if (handler != null) { handler.handle(message); } }; if (id != null && !id.trim().isEmpty()) { updateDocument(id, up, name, thumbs, h); } else { addDocument(up, userInfos, name, application, protectedContent, thumbs, h); } } else { if (handler != null) { handleAsyncError("upload.error", handler); } } } }); } else { if (handler != null) { handleAsyncError("invalid.user", handler); } } } }); }
From source file:org.entcore.common.http.EntAccessLogger.java
License:Open Source License
@Override public void log(final HttpServerRequest request, final Handler<Void> handler) { request.pause();/* w w w .ja va2s.com*/ UserUtils.getSession(eb, request, true, new Handler<JsonObject>() { @Override public void handle(JsonObject session) { if (session != null) { log.trace(formatLog(request) + " - " + session.getString("userId")); } else { log.trace(formatLog(request)); } request.resume(); handler.handle(null); } }); }
From source file:org.entcore.common.http.filter.AdmlResourcesProvider.java
License:Open Source License
protected void validateQuery(final HttpServerRequest request, final Handler<Boolean> handler, String query, JsonObject params) {/*from ww w . j av a 2 s.c om*/ request.pause(); neo4j.execute(query, params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { request.resume(); JsonArray res = r.body().getJsonArray("result"); handler.handle("ok".equals(r.body().getString("status")) && res.size() == 1 && (res.getJsonObject(0)).getBoolean("exists", false)); } }); }