Class OutputStreamRequestContent
java.lang.Object
org.eclipse.jetty.io.content.OutputStreamContentSource
org.eclipse.jetty.client.OutputStreamRequestContent
- All Implemented Interfaces:
 Closeable, AutoCloseable, Request.Content, Content.Source
public class OutputStreamRequestContent
extends OutputStreamContentSource
implements Request.Content
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)
            .body(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().
- 
Nested Class Summary
Nested classes/interfaces inherited from interface Content.Source
Content.Source.Factory - 
Constructor Summary
Constructors - 
Method Summary
Methods inherited from class OutputStreamContentSource
close, demand, fail, getLength, getOutputStream, read 
- 
Constructor Details
- 
OutputStreamRequestContent
public OutputStreamRequestContent() - 
OutputStreamRequestContent
 
 - 
 - 
Method Details
- 
getContentType
- Specified by:
 getContentTypein interfaceRequest.Content- Returns:
 - the value of the 
Content-Typeheader for the request content, such astext/html;charset=utf-8orapplication/json, ornullto use the value fromHttpClient.getDefaultRequestContentType() 
 
 -