Package com.yahoo.container.jdisc
Class HttpRequest.Builder
java.lang.Object
com.yahoo.container.jdisc.HttpRequest.Builder
- Enclosing class:
- HttpRequest
Builder of HTTP requests
-
Constructor Summary
ConstructorDescriptionBuilder
(HttpRequest request) Instantiate a request builder with defaults from an existing request.Builder
(HttpRequest request) Instantiate a request builder with defaults from an existing request. -
Method Summary
Modifier and TypeMethodDescriptionStart of API for synchronous HTTP request dispatch.Create a new HTTP request without creating a new JDisc request.Start of API for synchronous HTTP request dispatch.jdiscRequest
(HttpRequest request) Define the JDisc parent request.method
(HttpRequest.Method method) Set the HTTP method for the new request.Add a parameter to the request.removeProperty
(String parameterName) Removes the parameter from the request properties.requestData
(InputStream requestData) Set an inputstream to use for the request.Set the URI of the server request created.
-
Constructor Details
-
Builder
Instantiate a request builder with defaults from an existing request. If the request is null, a JDisc request must be set explitly usingjdiscRequest(com.yahoo.jdisc.http.HttpRequest)
before instantiating any HTTP request.- Parameters:
request
- source for defaults and parent JDisc request, may be null- See Also:
-
Builder
Instantiate a request builder with defaults from an existing request.- Parameters:
request
- parent JDisc request- See Also:
-
-
Method Details
-
put
Add a parameter to the request. Multi-value parameters are not supported.- Parameters:
key
- parameter namevalue
- parameter value- Returns:
- this Builder instance
-
removeProperty
Removes the parameter from the request properties. If there is no such parameter, nothing will be done. -
method
Set the HTTP method for the new request.- Parameters:
method
- the HTTP method to use for the new request- Returns:
- this Builder instance
-
jdiscRequest
Define the JDisc parent request.- Parameters:
request
- a valid JDisc request for the current container- Returns:
- this Builder instance
-
requestData
Set an inputstream to use for the request. If not set, the data from the original HttpRequest is used.- Parameters:
requestData
- data to be consumed, e.g. POST data- Returns:
- this Builder instance
-
uri
Set the URI of the server request created.- Parameters:
uri
- a valid URI for a server request- Returns:
- this Builder instance
-
createDirectRequest
Create a new HTTP request without creating a new JDisc request. This is for scenarios where another HTTP request handler is invoked directly without dispatching through JDisc. The parent JDisc request for the original HttpRequest will be passed on the new HttpRequest instance's JDisc request, but no properties will be propagated into the original JDisc request.- Returns:
- a new HttpRequest instance reflecting the given request data and parameters
-
createClientRequest
Start of API for synchronous HTTP request dispatch. Not yet ready for use.- Returns:
- a new client request
-
createServerRequest
Start of API for synchronous HTTP request dispatch. Not yet ready for use.- Returns:
- a new server request
-