HyperRequest
Though the HyperBuilder
is the component you will most likely inject, HyperRequest
is the component will you interact with the most. HyperRequest
provides a fluent interface to configure your HTTP call.
Defaults
The following are default properties for a HyperRequest
:
Executing Requests
get
get
Execute a GET
request and return a HyperResponse
.
Return: HyperResponse
getAsync
getAsync
Execute a GET
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
post
post
Execute a POST
request and return a HyperResponse
.
Return: HyperResponse
postAsync
postAsync
Execute a POST
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
put
put
Execute a PUT
request and return a HyperResponse
.
Return: HyperResponse
putAsync
putAsync
Execute a PUT
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
patch
patch
Execute a PATCH
request and return a HyperResponse
.
Return: HyperResponse
patchAsync
patchAsync
Execute a PATCH
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
delete
delete
Execute a DELETE
request and return a HyperResponse
.
Return: HyperResponse
deleteAsync
deleteAsync
Execute a DELETE
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
head
head
Execute a HEAD
request and return a HyperResponse
.
Return: HyperResponse
headAsync
headAsync
Execute a HEAD
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
options
options
Execute an OPTIONS
request and return a HyperResponse
.
Return: HyperResponse
optionsAsync
optionsAsync
Execute an OPTIONS
request asynchronously. Returns a ColdBox Future that returns a HyperResponse
.
Return: Future
<
HyperResponse
>
send
send
Send the HTTP request and return a HyperResponse
.
Return: HyperResponse
sendAsync
sendAsync
Send the HTTP request asynchronously and return a ColdBox Future that will resolve to a HyperResponse
.
Return: Future
<
HyperResponse
>
Building Requests
getRequestId
getRequestId
Gets the unique request ID representing this request.
Return: String
getFullURL
getFullURL
Gets the full URL for the request.
Return: String
getBaseURL
getBaseURL
Gets the base URL for the request. The base URL is combined with the URL when making the request.
Return: String
setBaseURL
setBaseURL
Sets the base URL for the request. The base URL is combined with the URL when making the request.
Return: HyperRequest
getURL
getURL
Gets the URL for the request.
Return: String
setURL
setURL
Sets the URL for the request.
Return: HyperRequest
setResolveURL
setResolveURL
Sets the resolveURL parameter for the request.
Return: HyperRequest
getMethod
getMethod
Gets the HTTP method for the request.
Return: String
setMethod
setMethod
Sets the HTTP method for the request.
Return: HyperRequest
withBasicAuth
withBasicAuth
Sets the username and password for HTTP Basic Auth.
Return: HyperRequest
withCertificateAuth
withCertificateAuth
Sets the username and password for HTTP Basic Auth.
Return: HyperRequest
withNTLMAuth
withNTLMAuth
Sets the username, password, domain and workstation for NTLM Auth.
Workstation can be obtained with createObject('java','java.net.InetAddress').getLocalHost().getHostName()
Return: HyperRequest
withRequestCallback
withRequestCallback
Schedules a callback to be ran when executing the request.
Return: HyperRequest
withResponseCallback
withResponseCallback
Schedules a callback to be ran when receiving the response.
Return: HyperRequest
getUsername
getUsername
Gets the username for the request.
Return: String
setUsername
setUsername
Sets the username for the request.
Return: HyperRequest
getPassword
getPassword
Gets the password for the request.
Return: String
setPassword
setPassword
Sets the password for the request.
Return: HyperRequest
getTimeout
getTimeout
Gets the timeout for the request, in seconds.
Return: numeric
setTimeout
setTimeout
Sets the timeout for the request, in seconds.
Return: HyperRequest
withoutRedirecting
withoutRedirecting
A convenience method to not follow any redirects.
Return: HyperRequest
withoutEncodingUrl
withoutEncodingUrl
A convenience method to not encode the url.
WARNING: Not supported on Adobe engines.
Return: HyperRequest
getMaximumRedirects
getMaximumRedirects
Gets the maximum number of redirects to follow.
Return: numeric | String
setMaximumRedirects
setMaximumRedirects
Sets the maximum number of redirects to follow. A value of *
will follow redirects infinitely.
Return: HyperRequest
getBody
getBody
Gets the body for the request.
Return: any
setBody
setBody
Sets the body for the request. Complex values will be serialized before sending the request.
Return: HyperRequest
hasBody
hasBody
Checks if the request has a body.
Return: boolean
getBodyFormat
getBodyFormat
Gets the body format for the request.
Return: String
setBodyFormat
setBodyFormat
Sets the body format for the request. Recognized values are formFields
, json
, or xml
. It is highly recommended to use asFormFields
, asJson
, or asXML
instead. If you set this value to a non-recognized value, the body will be passed along as-is to the body of the HTTP request.
Return: HyperRequest
asJson
asJson
A convenience method to set the body format and Content-Type to json
.
Return: HyperRequest
asFormFields
asFormFields
A convenience method to set the body format and Content-Type to form fields.
Return: HyperRequest
asXML
asXML
A convenience method to set the body format and Content-Type to xml
.
Return: HyperRequest
asBinary
asBinary
A convenience method to set the body format to binary
and Content-Type to application/octet-stream
.
Return: HyperRequest
getReferrer
getReferrer
Gets the referrer for the request, if any.
Return: String
getHeaders
getHeaders
Gets the headers for the request.
Return: java.util.LinkedHashMap
setHeaders
setHeaders
Sets the headers for the request.
Return: HyperRequest
setHeader
setHeader
Set a header for the request.
Return: HyperRequest
withHeaders
withHeaders
Add additional headers to the request.
Return: HyperRequest
forwardHeaders
forwardHeaders
Adds specified headers to the request if they exist. Usually used in conjunction with the current CFML request headers.
Return: HyperRequest
hasHeader
hasHeader
Check if the request has a header with the given name.
Return: boolean
getCookies
getCookies
Gets the cookies for the request.
Return: struct<ordered>
setCookies
setCookies
Sets the cookies for the request.
Return: HyperRequest
setCookie
setCookie
Set a cookie for the request.
Return: HyperRequest
withCookies
withCookies
Add additional cookies to the request.
Return: HyperRequest
withCredentials
withCredentials
Sends all current cookies along with the request.
Return: HyperRequest
hasCookie
hasCookie
Check if the request has a cookie with the given name.
Return: boolean
setUserAgent
setUserAgent
A convenience method to set the User-Agent
header.
Return: HyperRequest
setContentType
setContentType
A convenience method to set the Content-Type
header.
Return: HyperRequest
setAccept
setAccept
A convenience method to set the Accept
header.
Return: HyperRequest
getQueryParams
getQueryParams
Gets the query parameters for the request.
This method returns an array of param structs that is used under the hood by Hyper. You probably want to use getQueryParamByName
or getAllQueryParamsByName
instead.
Return: array<struct<string, any>>
setQueryParams
setQueryParams
Sets the query parameters for the request.
This method accepts an array of param structs that is used under the hood by Hyper. You probably want to use withQueryParams
or appendQueryParams
instead.
If needed, param structs have two keys, name
and value
.
Return: HyperRequest
getQueryParam
getQueryParam
DEPRECATED: Use getQueryParamByName
Gets the first value for a certain query parameter. Returns an empty string if the query parameter does not exist.
Return: any
getQueryParamByName
getQueryParamByName
Gets the first value for a certian query parameter. Returns an empty string if the query parameter does not exist.
Return: any
getAllQueryParamsByName
getAllQueryParamsByName
Get all the values for a certain query parameter. Returns an empty array if the query parameter does not exist.
Return: array<any>
setQueryParam
setQueryParam
Set a query parameter for the request.
Note: This removes all other query params with the same name.
Return: HyperRequest
appendQueryParam
appendQueryParam
Append a query parameter for the request.
Return: HyperRequest
withQueryParams
withQueryParams
Add additional query parameters to the request.
Note: This will remove any values with duplicate keys prior to adding the new struct of params.
Return: HyperRequest
appendQueryParams
appendQueryParams
Appends additional query parameters to the request.
Return: HyperRequest
hasQueryParam
hasQueryParam
Check if the request has a query parameter with the given name.
Return: boolean
attach
attach
Attaches a file to the Hyper request. Also sets the Content-Type as multipart/form-data
. Multiple files can be attached by calling attach
multiple times before calling a send method.
Return: HyperRequest
setThrowOnError
setThrowOnError
Sets the throw on error property for the request. If true, statuses in the 4xx and 5xx range will be turned in to exceptions.
Return: HyperRequest
throwErrors
throwErrors
A convenience method to throw on errors.
Return: HyperRequest
allowErrors
allowErrors
A convenience method to not throw on errors.
Return: HyperRequest
clone
clone
Clones the current request into a new HyperRequest.
Return: A new HyperRequest
instance cloned from this one.
clear
clear
Clears the request of any set values, including defaults passed by the builder.
Return: HyperRequest
when
when
Helper to conditionally execute a callback for the HyperRequest
. This method lets you use conditionals without breaking chaining.
Return: HyperRequest
retry
retry
Configures the request to retry failed requests.
Return: HyperRequest
getRetries
getRetries
Returns the current retry configuration which is an array of delay times. A request that needs to be retried will be retried up to the amount of items in this array. This array can be set using the retry
method.
In most cases, you do not need to interact with this method directly. Use the retry
method instead.
Return: array<numeric>
getCurrentRequestCount
getCurrentRequestCount
Returns the current request count. Defaults to 1
. The only time this will increase is if retries
have been configured for the request.
Return: numeric
getRetryPredicate
getRetryPredicate
Returns the current callback function that is called to decide if a request should be retried. This is only called if there are available retries left.
This callback is passed the response and the request as parameters.
A request will be retried if this function returns true
.
In this function, the passed in request can be modified for the next retry.
In most cases, you do not need to interact with this method directly. Use the retry
method instead.
Return: numeric
setProperties
setProperties
Quickly set many request properties using a struct. The key should be the name of one of the properties on the request, e.g. url
, headers
, method
, body
.
Return: HyperRequest
setHttpClient
setHttpClient
Sets the HTTP Client to use for the request. The client should conform to the HyperHttpClientInterface
(though it does not need to use the implements
keyword).
Return: HyperRequest
setInterceptorService
setInterceptorService
Sets the ColdBox Interceptor Service to announce request and response interception points. A noop option is provided in the init
for non-ColdBox usage.
Return: HyperRequest
setAsyncManager
setAsyncManager
Sets the ColdBox AsyncManager to send requests asynchronously. A noop option is provided in the init
for non-ColdBox usage.
Return: HyperRequest
getMemento
getMemento
Returns a struct representing this HyperRequest
.
Return:
debug
debug
Creates a debug representation of the HTTP request for the current HTTP client.
Throws: NoUrlException
when no URL is set.
Return: Dependent on the configured HTTP Client. See specific HTTP Client documentation for details.
Last updated