List of usage examples for io.vertx.core.buffer Buffer getBytes
@GenIgnore(GenIgnore.PERMITTED_TYPE)
byte[] getBytes();
From source file:com.englishtown.vertx.jersey.impl.DefaultJerseyHandler.java
License:Open Source License
/** * {@inheritDoc}//from w w w . j a va 2 s. c o m */ @Override public void handle(final HttpServerRequest vertxRequest) { // Wait for the body for jersey to handle form/json/xml params if (shouldReadData(vertxRequest)) { if (logger.isDebugEnabled()) { logger.debug("DefaultJerseyHandler - handle request and read body: " + vertxRequest.method() + " " + vertxRequest.uri()); } final Buffer body = Buffer.buffer(); vertxRequest.handler(buffer -> { body.appendBuffer(buffer); if (body.length() > maxBodySize) { throw new RuntimeException( "The input stream has exceeded the max allowed body size " + maxBodySize + "."); } }); vertxRequest.endHandler(aVoid -> { InputStream inputStream = new ByteArrayInputStream(body.getBytes()); DefaultJerseyHandler.this.handle(vertxRequest, inputStream); }); } else { if (logger.isDebugEnabled()) { logger.debug("DefaultJerseyHandler - handle request: " + vertxRequest.method() + " " + vertxRequest.uri()); } DefaultJerseyHandler.this.handle(vertxRequest, null); } }
From source file:com.hubrick.vertx.s3.client.S3ClientRequest.java
License:Apache License
protected void initAuthenticationHeader(Buffer payload) { if (!isAuthenticated()) { return;//from www.j a v a 2 s . c om } if (authenticationHeaderSet) { return; } authenticationHeaderSet = true; try { final String decodedQueryString = request.query() != null ? URLDecoder.decode(request.query(), "UTF-8") : null; final AWS4SignatureBuilder signatureBuilder = AWS4SignatureBuilder .builder(ZonedDateTime.now(clock), region, serviceName).httpRequestMethod(method) .canonicalUri(request.path()).canonicalQueryString(decodedQueryString) .awsSecretKey(awsSecretKey); headers().set(Headers.X_AMZ_DATE, signatureBuilder.makeSignatureFormattedDate()); for (Map.Entry<String, String> entry : headers()) { signatureBuilder.header(entry.getKey(), entry.getValue()); } if (signPayload) { signatureBuilder.payload(payload.getBytes()); headers().set(Headers.X_AMZ_CONTENT_SHA256, signatureBuilder.getPayloadHash()); } else { headers().set(Headers.X_AMZ_CONTENT_SHA256, AWS4SignatureBuilder.UNSIGNED_PAYLOAD); } log.info("S3 toSign:\n{}", signatureBuilder.makeCanonicalRequest()); headers().set("Authorization", signatureBuilder.buildAuthorizationHeaderValue(awsAccessKey)); } catch (UnsupportedEncodingException e) { log.error("Fatal error. This should never happen since the encoding is hard coded", e); } catch (Exception e) { // This will totally fail, // but downstream users can handle it log.error("Failed to sign S3 request due to " + e.getMessage(), e); } }
From source file:com.julienviet.childprocess.impl.ProcessImpl.java
License:Apache License
@Override public synchronized boolean onStdinReady(ByteBuffer byteBuffer) { Buffer buffer; while (byteBuffer.remaining() > 0 && (buffer = stdinPending.poll()) != null) { byte[] bytes; if (buffer.length() <= byteBuffer.remaining()) { bytes = buffer.getBytes(); } else {/* ww w. j a va 2s .c o m*/ bytes = buffer.getBytes(0, byteBuffer.remaining()); stdinPending.addFirst(buffer.slice(byteBuffer.remaining(), buffer.length())); } byteBuffer.put(bytes); // See to do directly with Netty ByteBuf stdinSize -= bytes.length; } byteBuffer.flip(); context.runOnContext(v -> checkDrained()); if (stdinSize > 0) { return true; } else { wantWrite = false; if (stdinStatus == CLOSING) { stdinStatus = CLOSED; process.closeStdin(false); } return false; } }
From source file:com.sibvisions.vertx.HttpServer.java
License:Apache License
/** * Handles an upload request./*from w ww .java 2 s . co m*/ * * @param pRequest the request */ private void handleUpload(final HttpServerRequest pRequest) { pRequest.handler(new Handler<Buffer>() { private OutputStream os; public void handle(Buffer event) { try { if (os == null) { String sFileName = getFileName(pRequest.headers().get("Content-Disposition")); if (sFileName == null) { pRequest.response().setStatusCode(HttpResponseStatus.BAD_REQUEST.code()); pRequest.response().end(); return; } RemoteFileHandle rfh = new RemoteFileHandle(sFileName, pRequest.params().get("KEY")); os = rfh.getOutputStream(); } os.write(event.getBytes()); } catch (IOException ioe) { throw new RuntimeException(ioe); } } }); pRequest.exceptionHandler(new Handler<Throwable>() { public void handle(Throwable event) { pRequest.response().end(); } }); pRequest.endHandler(new Handler<Void>() { public void handle(Void event) { pRequest.response().end(); } }); }
From source file:com.tesco.mewbase.bson.BsonArray.java
License:Open Source License
/** * Create an instance from a buffer//from w ww .j a va 2 s . c o m * * @param bson the buffer containing the BSON */ public BsonArray(Buffer bson) { fromBson(new ByteArrayInputStream(bson.getBytes())); }
From source file:com.tesco.mewbase.bson.BsonObject.java
License:Open Source License
/** * Create an instance from a Buffer/* w w w . j av a 2s . com*/ * * @param buffer the buffer containing the BSON */ public BsonObject(Buffer buffer) { fromBson(new ByteArrayInputStream(buffer.getBytes())); }
From source file:es.upv.grycap.opengateway.core.http.BaseRestService.java
License:Apache License
private void handleCreate(final ApiConfig api, final RoutingContext routingContext) { final Buffer buffer = routingContext.getBody(); final HttpServerResponse response = routingContext.response(); if (buffer == null) { sendError(400, response);/*from w ww .jav a 2 s.co m*/ } else { final String service = loadBalancerClient.getServiceInstance(api.getAppId()); if (isBlank(service)) { sendError(503, response); } else { new VertxHttp2Client(vertx).asyncPostBytes(service, "application/json", () -> buffer.getBytes(), resp -> { if (!resp.succeeded()) { sendError(504, response); } else { ofNullable(resp.result().header("Location")).orElse(emptyList()).stream() .filter(Objects::nonNull) .forEach(location -> response.putHeader("Location", location)); response.setStatusCode(201).end(); } }); } } }
From source file:es.upv.grycap.opengateway.core.http.BaseRestService.java
License:Apache License
private void handleModify(final ApiConfig api, final RoutingContext routingContext) { final String id = routingContext.request().getParam("id"); final Buffer buffer = routingContext.getBody(); final HttpServerResponse response = routingContext.response(); if (id == null || buffer == null) { sendError(400, response);/* ww w.j ava 2 s.co m*/ } else { final String service = loadBalancerClient.getServiceInstance(api.getAppId()); if (isBlank(service)) { sendError(503, response); } else { new VertxHttp2Client(vertx).asyncPutBytes(String.format("%s/%s", service, id), "application/json", () -> buffer.getBytes(), resp -> { if (!resp.succeeded()) { sendError(504, response); } else { response.setStatusCode(204).end(); } }); } } }
From source file:io.advantageous.qbit.vertx.http.server.VertxServerUtils.java
License:Apache License
public WebSocket createWebSocket(final ServerWebSocket vertxServerWebSocket) { final MultiMap<String, String> params = paramMap(vertxServerWebSocket); final MultiMap<String, String> headers = vertxServerWebSocket.headers().size() == 0 ? MultiMap.empty() : new MultiMapWrapper(vertxServerWebSocket.headers()); /* Create a websocket that uses vertxServerWebSocket to forwardEvent messages. */ final WebSocket webSocket = webSocketBuilder().setUri(vertxServerWebSocket.uri()) .setRemoteAddress(vertxServerWebSocket.remoteAddress().toString()) .setWebSocketSender(new WebSocketSender() { @Override//from www . ja va2 s . c o m public void sendText(String message) { vertxServerWebSocket.writeFinalTextFrame(message); } @Override public void sendBytes(byte[] message) { vertxServerWebSocket.writeFinalBinaryFrame(Buffer.buffer(message)); } @Override public void close() { vertxServerWebSocket.close(); } }).setHeaders(headers).setParams(params).build(); /* Handle open. */ webSocket.onOpen(); /* Handle close. */ vertxServerWebSocket.closeHandler(event -> webSocket.onClose()); final Buffer[] bufferRef = new Buffer[1]; final int[] count = new int[1]; /* Handle frame. */ vertxServerWebSocket.frameHandler(event -> { count[0]++; if (event.isFinal()) { //If the count is 1 then all of the data is in bufferRef, else all of the data but the last bit is in bufferRef. final Buffer finalBuffer = count[0] > 1 ? createNewBuffer(bufferRef[0], event.binaryData()) : event.binaryData(); if (event.isBinary()) { ((NetSocketBase) webSocket).setBinary(); webSocket.onBinaryMessage(finalBuffer.getBytes()); } else { webSocket.onTextMessage(finalBuffer.toString("UTF-8")); } count[0] = 0; bufferRef[0] = null; } else { bufferRef[0] = createNewBuffer(bufferRef[0], event.binaryData()); } }); /* Handle error. */ vertxServerWebSocket.exceptionHandler(event -> { if (event instanceof Exception) { webSocket.onError((Exception) event); } else { webSocket.onError(new Exception(event)); } }); return webSocket; }
From source file:io.atomix.vertx.ClusterSerializableSerializer.java
License:Apache License
@Override public void write(T object, BufferOutput output, Serializer serializer) { Buffer buffer = Buffer.buffer(); object.writeToBuffer(buffer);//www.java 2 s.c o m byte[] bytes = buffer.getBytes(); output.writeUnsignedShort(bytes.length).write(bytes); }