public final class

HttpRequest

extends Object
java.lang.Object
   ↳ chan.http.HttpRequest

Class Overview

HTTP request builder and executor.

Summary

Nested Classes
interface HttpRequest.Preset

Client's preset with timeout settings, listeners, etc. 

interface HttpRequest.RedirectHandler

Redirection handler interface. 

Public Constructors
HttpRequest(Uri uri, HttpHolder holder, HttpRequest.Preset preset)

Constructor for HttpRequest.

HttpRequest(Uri uri, HttpHolder holder)

Constructor for HttpRequest without preset.

HttpRequest(Uri uri, HttpRequest.Preset preset)

Constructor for HttpRequest.

Public Methods
HttpRequest addCookie(CookieBuilder builder)

Add a CookieBuilder and concatenate it with existing one.

HttpRequest addCookie(String name, String value)

Add a cookie with given name and value.

HttpRequest addCookie(String cookie)

Add a cookie string.

HttpRequest addHeader(String name, String value)

Add a header with given name and value.

HttpRequest clearCookies()

Removes all cookies added before.

HttpRequest clearHeaders()

Removes all headers added before.

HttpRequest copy()

Returns a deep copy of this builder.

HttpHolder execute()

Executes HTTP request.

HttpResponse read()

Executes HTTP request and reads response.

HttpRequest setDelay(int delay)

Sets the delay before opening previous and this connection.

HttpRequest setDeleteMethod(RequestEntity entity)

Sets HTTP request method to DELETE with request entity.

HttpRequest setGetMethod()

Sets HTTP request method to GET.

HttpRequest setHeadMethod()

Sets HTTP request method to HEAD.

HttpRequest setKeepAlive(boolean keepAlive)

Enabled or disables connection pooling.

HttpRequest setOutputStream(OutputStream outputStream)

Sets the output stream as the destination of response.

HttpRequest setPostMethod(RequestEntity entity)

Sets HTTP request method to POST with request entity.

HttpRequest setPutMethod(RequestEntity entity)

Sets HTTP request method to PUT with request entity.

HttpRequest setRedirectHandler(HttpRequest.RedirectHandler redirectHandler)

Configures redirect handling with HttpRequest.RedirectHandler.

HttpRequest setSuccessOnly(boolean successOnly)

Configures response code handling.

HttpRequest setTimeouts(int connectTimeout, int readTimeout)

Sets the timeouts of connection.

HttpRequest setValidator(HttpValidator validator)

Sets the HttpValidator to handle data changes with 304 Not Modified.

[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public HttpRequest (Uri uri, HttpHolder holder, HttpRequest.Preset preset)

Constructor for HttpRequest.

Parameters
uri Uri: URI for request.
holder HttpHolder: HttpHolder instance. May be null.
preset HttpRequest.Preset: Preset with configuration.

public HttpRequest (Uri uri, HttpHolder holder)

Constructor for HttpRequest without preset.

Parameters
uri Uri: URI for request.
holder HttpHolder: HttpHolder instance. May be null.

public HttpRequest (Uri uri, HttpRequest.Preset preset)

Constructor for HttpRequest. In most cases HttpRequest.Preset can provide it's own HttpHolder, so you can use this constructor.

Parameters
uri Uri: URI for request.
preset HttpRequest.Preset: Preset with configuration.

Public Methods

public HttpRequest addCookie (CookieBuilder builder)

Add a CookieBuilder and concatenate it with existing one.

Parameters
builder CookieBuilder: CookieBuilder instance.
Returns
HttpRequest This builder.

See also:

public HttpRequest addCookie (String name, String value)

Add a cookie with given name and value.

Parameters
name String: Cookie name.
value String: Cookie value.
Returns
HttpRequest This builder.

See also:

public HttpRequest addCookie (String cookie)

Add a cookie string.

Parameters
cookie String: Cookie string.
Returns
HttpRequest This builder.

See also:

public HttpRequest addHeader (String name, String value)

Add a header with given name and value.

Parameters
name String: Header name.
value String: Header value.
Returns
HttpRequest This builder.

public HttpRequest clearCookies ()

Removes all cookies added before.

Returns
HttpRequest This builder.

public HttpRequest clearHeaders ()

Removes all headers added before.

Returns
HttpRequest This builder.

public HttpRequest copy ()

Returns a deep copy of this builder. Request entities will be copied shallowly!

Returns
HttpRequest Copy of builder.

public HttpHolder execute ()

Executes HTTP request. This make available response headers with returned HttpHolder. Later you can read response body with read() or disconnect.

Returns
HttpHolder HTTP connection holder.
Throws
HttpException if HTTP exception occurred.

public HttpResponse read ()

Executes HTTP request and reads response.

Returns
HttpResponse HTTP response.
Throws
HttpException if HTTP exception occurred.

See also:

public HttpRequest setDelay (int delay)

Sets the delay before opening previous and this connection. May be helpful in adjusting connection frequency.

Parameters
delay int: Delay in milliseconds.
Returns
HttpRequest This builder.

public HttpRequest setDeleteMethod (RequestEntity entity)

Sets HTTP request method to DELETE with request entity.

Parameters
entity RequestEntity: RequestEntity instance.
Returns
HttpRequest This builder.

public HttpRequest setGetMethod ()

Sets HTTP request method to GET.

Returns
HttpRequest This builder.

public HttpRequest setHeadMethod ()

Sets HTTP request method to HEAD.

Returns
HttpRequest This builder.

public HttpRequest setKeepAlive (boolean keepAlive)

Enabled or disables connection pooling. Enabled by default.

Parameters
keepAlive boolean: True to enable pooling, false to disable one.
Returns
HttpRequest This builder.

public HttpRequest setOutputStream (OutputStream outputStream)

Sets the output stream as the destination of response. In this case read() method will return null value.

Parameters
outputStream OutputStream: Output stream.
Returns
HttpRequest This builder.

public HttpRequest setPostMethod (RequestEntity entity)

Sets HTTP request method to POST with request entity.

Parameters
entity RequestEntity: RequestEntity instance.
Returns
HttpRequest This builder.

public HttpRequest setPutMethod (RequestEntity entity)

Sets HTTP request method to PUT with request entity.

Parameters
entity RequestEntity: RequestEntity instance.
Returns
HttpRequest This builder.

public HttpRequest setRedirectHandler (HttpRequest.RedirectHandler redirectHandler)

Configures redirect handling with HttpRequest.RedirectHandler.

Parameters
redirectHandler HttpRequest.RedirectHandler: Redirect handler interface.
Returns
HttpRequest This builder.

public HttpRequest setSuccessOnly (boolean successOnly)

Configures response code handling. The checkResponseCode() will be called automatically if this handling enabled. Enabled by default.

Parameters
successOnly boolean: True to enable handling, false to disable one.
Returns
HttpRequest This builder.

public HttpRequest setTimeouts (int connectTimeout, int readTimeout)

Sets the timeouts of connection.

Parameters
connectTimeout int: TCP handshake timeout in milliseconds.
readTimeout int: Max delay in milliseconds between reading data.
Returns
HttpRequest This builder.

public HttpRequest setValidator (HttpValidator validator)

Sets the HttpValidator to handle data changes with 304 Not Modified.

Parameters
validator HttpValidator: HttpValidator instance. May be null.
Returns
HttpRequest This builder.