What's New?
Last updated
Last updated
Although this was already available by calling response.getRequest()
, the request is now available as the second parameter of the .
Added a to set the bodyFormat
to binary
and the Content-Type
to application/octet-stream
.
You can now configure a HyperRequest
to automatically retry failed requests.
Hyper now sends a default User-Agent of HyperCFML/#versionNumber#
.
Hyper now has the ability to fake requests and return fake responses as a result. This is perfect for testing scenarios where you don't actually want to make an HTTP request.
This is a welcome improvement as the init
arguments do not exactly match the method names. Also, for defaults like requestCallbacks
, responseCallbacks
, or even queryParams
, passing in arrays of functions or arrays or structs is not as straightforward as calling the related methods. Now, you can use the Hyper methods you are familiar with when registering your custom Hyper clients.
This client now returns more accurate status codes for 502 Bad Gateway
and 408 Request Timeout
responses.
Add xml
support and an asXML
method to set the body format and Content-Type
header.
Add adobe@2023
to testing matrix.
Dropped adobe@2016
support.
Correctly handle cases when the body
is a string and format is JSON
.
Add a debug
method to see what the HTTP client generates.
HyperHttpClientInterface
now requires a debug
method.
Do not prepend the base url when a full url is passed.
Correctly set the encodeUrl
property when cloning a request.
Update README for builder initWith
headers losing Content-Type
.
Fix HyperBuilder
example in the docs.
Allow adding multiple query params with the same key.
Previously, query params were stored as a struct. Some APIs expect multiple values for the same query param name to be passed as separate arguments. Hyper now stores the query params as an array and provides new methods for interacting with query params:
The following methods still exist, but now interact with arrays of query param structs instead of a simple struct.
The following methods have been deprecated:
Convert array values correctly when sending form fields
Add a workaround for CommandBox not having the box:asyncManager
injection DSL.
Add MIT License file
Use processState
over announce
until CommandBox can update its interceptorService
.
Add helper methods for checking for specific status codes:
Support WireBox outside of ColdBox.
Include response data as detail in DeserializeJsonException
.
Add execution time to HyperResponse
instances.
Dropped support for ColdBox 5.
Fixed typo of Bulider
to Builder
.
Do not fail fast on cron job actions on CI.
Update fetch-depth for tests and release actions on CI.
Attempt to skip committing back changes on CI.
Add matrix and cron testing on CI.
Use better GitHub token on CI
Add workaround for boolean
values in query strings.
Use the previous host for redirect if redirect does not include a full URL.
Use OpenJDK instead of OracleJDK on CI.
Add adobe@2018
support to CI builds.
Dropped support for lucee@4.5
.
Use 504 Gateway Timeout
for incomplete responses.
Include equal signs in query param values.
Fix for Lucee 4 compatibility on LinkedHashMaps
and keyArray
.
Preserve case in header names.
Preserve case for query parameters.
Serialize both params from the url and set on the HyperRequest
instance.
Default to UTF-8
charset if none is present in the response.
Fix withHeaders and withQueryParams for Lucee compatibility.
Only map HyperBuilder as a singleton in WireBox
Update box.json
description.
Hyper can now reset the fake request counts and sequences without losing the fake configuration using the method.
Hyper can now and . See the and docs for details.
It is now more straightforward to register a . Inside your config/WireBox.cfc
in an afterAspectsLoad
method, you can get a reference to a HyperBuilder
, configure it as you would for a request, and then call the registerAs
method passing in your desired WireBox alias.
Previously, these responses were returned as 504 Gateway Timeout
responses. Hyper now normalizes the responses from the different CFML engines into a consistent response. 502 Bad Gateway
is returned instead of 504 Gateway Timeout
for invalid hosts. 408 Request Timeout
is returned if the request takes longer than the configured value.
If you were previously checking specifically for 504
status codes for bad hosts, you need to now either check for 502
status codes or use a more general method, like or .
If you were previously checking specifically for 504
status codes or for timed out requests, you need to now either check for 408
status codes, , or the more general .
Add and shortcut methods.
Remove default Content-Type
header. You must set this or use a format helper, such as .
Add resolveUrls
and encodeUrl
properties to the .
Add async requests using ColdBox's .
Provide more useful error than cfhttp when is enabled.
Provide mementos for and instances.
Capture and provide a convenience string.
Add shortcut method.
Allow for default values in .
Allowing file uploads.
Add to quickly copy HyperRequest
instances.
Add interceptors and for lifecycle events.
Add support for .
Include method in docs.
Add flag.
Add auth.
Add flag.
Store module in .
Allow for pluggable that follow the HyperHttpClientInterface
. (Clients do not need to use the implements
keyword.)
Avoid double encoding using .
Remove Lucee 4.5 support from docs. (Support was dropped in )
Do not include and unless they have values.
Add flag.
Add helper to execute conditions without breaking chaining.
Add method to reset HyperRequest instances.
Add configurable .
Migrate to organization on GitHub.
Enable on CI.