All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.freelibrary.vertx.s3.S3ClientResponse Maven / Gradle / Ivy

There is a newer version: 2.0.0-alpha-2
Show newest version

package info.freelibrary.vertx.s3;

import io.vertx.codegen.annotations.Nullable;
// import io.vertx.codegen.annotations.Nullable;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.streams.Pipe;
import io.vertx.core.streams.ReadStream;
import io.vertx.core.streams.WriteStream;

/**
 * A successful S3 response that provides a way to access headers and the response body.
 */
public interface S3ClientResponse extends ReadStream {

    /**
     * Gets the whole response body.
     *
     * @return The response body
     */
    Future body();

    /**
     * Gets the whole response body using the supplied handler.
     *
     * @param aHandler The handler to use for getting the body
     * @return The S3 client response
     */
    S3ClientResponse body(Handler> aHandler);

    /**
     * Gets the response headers.
     *
     * @return The response headers
     */
    HttpHeaders headers();

    @Override
    S3ClientResponse handler(Handler aHandler);

    @Override
    Pipe pipe();

    @Override
    Future pipeTo(WriteStream aStream);

    @Override
    void pipeTo(WriteStream aStream, Handler> aHandler);

    @Override
    S3ClientResponse exceptionHandler(Handler aHandler);

    @Override
    S3ClientResponse pause();

    @Override
    S3ClientResponse resume();

    @Override
    S3ClientResponse fetch(long aCount);

    @Override
    S3ClientResponse endHandler(@Nullable Handler aHandler);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy