Example usage for io.vertx.core.buffer Buffer getBytes

List of usage examples for io.vertx.core.buffer Buffer getBytes

Introduction

In this page you can find the example usage for io.vertx.core.buffer Buffer getBytes.

Prototype

@GenIgnore(GenIgnore.PERMITTED_TYPE)
byte[] getBytes();

Source Link

Document

Returns a copy of the entire Buffer as a byte[]

Usage

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);
}