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

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

Introduction

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

Prototype

@Fluent
Buffer appendBuffer(Buffer buff);

Source Link

Document

Appends the specified Buffer to the end of this Buffer.

Usage

From source file:com.englishtown.vertx.jersey.impl.DefaultJerseyHandler.java

License:Open Source License

/**
 * {@inheritDoc}/*  ww w  .  ja va  2s.com*/
 */
@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:examples.HTTPExamples.java

License:Open Source License

public void example10(HttpServerRequest request) {

    // Create an empty buffer
    Buffer totalBuffer = Buffer.buffer();

    request.handler(buffer -> {/*  w  w  w .  j  ava2s  .  c om*/
        System.out.println("I have received a chunk of the body of length " + buffer.length());
        totalBuffer.appendBuffer(buffer);
    });

    request.endHandler(v -> {
        System.out.println("Full body received, length = " + totalBuffer.length());
    });
}

From source file:examples.HTTPExamples.java

License:Open Source License

public void example48(HttpClient client) {

    client.getNow("some-uri", response -> {

        // Create an empty buffer
        Buffer totalBuffer = Buffer.buffer();

        response.handler(buffer -> {//from   ww w.  jav a  2 s  .c om
            System.out.println("Received a part of the response body: " + buffer.length());

            totalBuffer.appendBuffer(buffer);
        });

        response.endHandler(v -> {
            // Now all the body has been read
            System.out.println("Total response body length is " + totalBuffer.length());
        });
    });
}

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  ww  w. ja  v  a 2 s  . co 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:info.freelibrary.pairtree.s3.S3Client.java

License:Open Source License

/**
 * Uploads the file contents to S3.// ww  w.  jav  a  2s .c o  m
 *
 * @param aBucket An S3 bucket
 * @param aKey An S3 key
 * @param aFile A file to upload
 * @param aHandler A response handler for the upload
 */
public void put(final String aBucket, final String aKey, final AsyncFile aFile,
        final Handler<HttpClientResponse> aHandler) {
    final S3ClientRequest request = createPutRequest(aBucket, aKey, aHandler);
    final Buffer buffer = Buffer.buffer();

    aFile.endHandler(event -> {
        request.putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length()));
        request.end(buffer);
    });

    aFile.handler(data -> {
        buffer.appendBuffer(data);
    });
}

From source file:info.freelibrary.pairtree.s3.S3Client.java

License:Open Source License

/**
 * Uploads the file contents to S3.//w ww .  ja v  a  2s .  co  m
 *
 * @param aBucket An S3 bucket
 * @param aKey An S3 key
 * @param aUpload An HttpServerFileUpload
 * @param aHandler An upload response handler
 */
public void put(final String aBucket, final String aKey, final HttpServerFileUpload aUpload,
        final Handler<HttpClientResponse> aHandler) {
    final S3ClientRequest request = createPutRequest(aBucket, aKey, aHandler);
    final Buffer buffer = Buffer.buffer();

    aUpload.endHandler(event -> {
        request.putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length()));
        request.end(buffer);
    });

    aUpload.handler(data -> {
        buffer.appendBuffer(data);
    });
}

From source file:io.advantageous.qbit.vertx.http.server.VertxServerUtils.java

License:Apache License

private Buffer createNewBuffer(Buffer buffer1, Buffer buffer2) {
    final Buffer buffer = buffer1 == null ? Buffer.buffer() : buffer1;
    buffer.appendBuffer(buffer2);
    return buffer;
}

From source file:io.fabric8.msg.jnatsd.protocol.AbstractCommand.java

License:Apache License

@Override
public Buffer getBuffer() {
    String str = toString();//from  w w  w . j  a  va2  s  .  c om
    Buffer buffer = Buffer.buffer(str.length());
    buffer.appendString(str);
    buffer.appendBuffer(CRLF);
    return buffer;
}

From source file:io.fabric8.msg.jnatsd.protocol.CommandFactory.java

License:Apache License

public static Msg createMsg(Buffer sid, Pub pub) {
    Msg msg = new Msg();
    msg.setSubject(pub.getSubject());/*  ww  w.j a  v  a  2s  . co m*/
    msg.setReplyTo(pub.getReplyTo());
    msg.setSid(sid);
    msg.setNoBytes(pub.getNoBytesBuffer());
    msg.setPayload(pub.getPayload());
    int sizeHint = MSG_NAME.length() + pub.getSubject().size();
    if (pub.getReplyTo() != null && pub.getReplyTo().length() > 0) {
        sizeHint += pub.getReplyTo().length();
    }
    if (pub.getPayload() != null) {
        sizeHint += pub.getPayload().length();
    }
    sizeHint += (CRLF.length() * 2) + 3;

    Buffer buffer = Buffer.buffer(sizeHint);
    buffer.appendBuffer(MSG_NAME);
    msg.getSubject().appendToBuffer(buffer);
    buffer.appendBuffer(SPACE);
    buffer.appendBuffer(sid);
    buffer.appendBuffer(SPACE);
    if (msg.getReplyTo() != null && msg.getReplyTo().length() > 0) {
        msg.getReplyTo().appendTo(buffer);
        buffer.appendBuffer(SPACE);
    }
    msg.getNoBytes().appendTo(buffer);
    buffer.appendBuffer(CRLF);
    if (msg.getRawPayload() != null) {
        msg.getRawPayload().appendTo(buffer);
    }
    buffer.appendBuffer(CRLF);
    return msg;
}

From source file:io.fabric8.msg.jnatsd.protocol.Msg.java

License:Apache License

@Override
public Buffer getBuffer() {
    //MSG + space + subject + space + replyTo + space + size + space + payload
    int sizeHint = 11 + subject.size() + (replyTo != null ? replyTo.length() : 0);
    if (payload != null) {
        sizeHint += payload.length();/*from  w ww. j  a va 2  s  .c om*/
    }
    Buffer buffer = Buffer.buffer(sizeHint);
    buffer.appendString("MSG ");
    subject.appendToBuffer(buffer);
    buffer.appendString(" ");
    buffer.appendBuffer(sid);
    buffer.appendString(" ");
    if (replyTo != null) {
        replyTo.appendTo(buffer);
        buffer.appendString(" ");
    }
    noBytes.appendTo(buffer);
    buffer.appendBuffer(CRLF);
    if (payload != null) {
        payload.appendTo(buffer);
    }
    buffer.appendBuffer(CRLF);
    return buffer;
}