Class OutputStreamRequestContent

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, Request.Content, Request.Content.Subscription

    public class OutputStreamRequestContent
    extends AsyncRequestContent

    A Request.Content that provides content asynchronously through an OutputStream similar to AsyncRequestContent.

    OutputStreamRequestContent can only be used in conjunction with Request.send(Response.CompleteListener) (and not with its blocking counterpart Request.send()) because it provides content asynchronously.

    Content must be provided by writing to the output stream that must be closed when all content has been provided.

    Example usage:

     HttpClient httpClient = ...;
    
     // Use try-with-resources to autoclose the output stream.
     OutputStreamRequestContent content = new OutputStreamRequestContent();
     try (OutputStream output = content.getOutputStream())
     {
         httpClient.newRequest("localhost", 8080)
                 .content(content)
                 .send(new Response.CompleteListener()
                 {
                     @Override
                     public void onComplete(Result result)
                     {
                         // Your logic here
                     }
                 });
    
         // At a later time...
         output.write("some content".getBytes());
    
         // Even later...
         output.write("more content".getBytes());
     } // Implicit call to output.close().
     
    • Constructor Detail

      • OutputStreamRequestContent

        public OutputStreamRequestContent()
      • OutputStreamRequestContent

        public OutputStreamRequestContent​(java.lang.String contentType)
    • Method Detail

      • getOutputStream

        public java.io.OutputStream getOutputStream()