BoxLang 🚀 A New JVM Dynamic Language Learn More...

hyper

v7.5.2 Modules

hyper

Available on ForgeBox Tested With TestBox

A CFML HTTP Builder

Inspiration

Hyper was built after coding several API SDK's for various platforms — S3SDK, cbstripe, and cbgithub, to name a few. I noticed that I spent a lot of time setting up the plumbing for the requests and a wrapper around cfhttp. Each implementation was mostly the same but slightly different. It was additionally frustrating because I really only needed to tweak a few values, usually just the Authorization header. It would be nice to create an HTTP client pre-configured for each of these SDK's. It seemed the perfect fit for a module.

The problem it solves

Hyper exists to provide a fluent builder experience for HTTP requests and responses. It also provides a powerful way to create clients, i.e. Builder objects with pre-configured defaults like a base URL or certain headers.

Requirements

Hyper runs on Adobe ColdFusion 2018+ and Lucee 5+.

ColdBox is not required, but mappings are provided for ColdBox users automatically.

Documentation

You can find all of the documentation for Hyper at https://hyper.ortusbooks.com.

v7.5.2

04 Jun 2024 — 15:52: 34 UTC

other

  • *: feat: Add ability to exclude keys from HyperRequest and HyperResponse mementos (c0171fc)

v7.5.1

26 Mar 2024 — 13:25: 18 UTC

other

  • *: docs: Updated misspelled and missing docblocks (1ba168b)

v7.5.0

18 Mar 2024 — 16:19: 44 UTC

feat

  • Interceptors: Add request to onHyperResponse interception point. (07ca539)

v7.4.0

02 Feb 2024 — 18:44: 17 UTC

feat

  • HyperRequest: Add asBinary helper method. (98053ed)

v7.3.0

24 Jan 2024 — 20:14: 11 UTC

feat

  • HyperRequest: Add retry handling to HyperRequests (daf90bd)
  • HyperRequest: Default to a HyperCFML/#versionNumber# User-Agent (60100c4)
  • HyperBuilder: Allow resetting of existing fakes using resetFakes (beab1b7)

v2.3.5

02 Nov 2020 — 21:55: 39 UTC

chore

  • CI: Add matrix and cron testing (fcf35a0)

v2.3.4

02 Nov 2020 — 21:13: 30 UTC

chore

  • CI: Use better GitHub token (fba0ffa)

v2.3.1

24 Jun 2020 — 20:15: 36 UTC

fix

  • HyperRequest: Bug Workaround for Booleans in Query Strings (b48e629)

v2.3.0

19 Jun 2020 — 20:57: 46 UTC

feat

  • HyperRequest: Add certificate auth (6e3d335)

v2.2.1

04 Jun 2020 — 19:42: 40 UTC

other

  • *: chore: format with cfformat (a887d01)
  • *: fix: Use previous host for redirect if redirect does not include a full URL (66c2570)

v2.2.0

20 Apr 2020 — 15:58: 35 UTC

feat

  • HyperRequest: Add resolveUrls option (e270d98)

v2.1.1

13 Feb 2020 — 18:25: 16 UTC

other

  • *: chore: Use OpenJDK instead of OracleJDK (ce9f558)
  • *: chore: Use forgeboxStorage (1d32c19)

v2.1.0

29 Mar 2019 — 08:04: 09 UTC

chore

  • build: Replace periodic failing GPG key (f3baea9)

feat

  • HttpClient: Allow for pluggable HTTP Clients (ad833b9)

v2.0.2

31 Oct 2018 — 18:20: 32 UTC

fix

  • HyperRequest: Avoid double encoding using cfhttpparam (f25bc86)

v2.0.1

23 Oct 2018 — 21:40: 42 UTC

docs

  • README: Remove Lucee 4.5 support from docs (3abe4f8)

v2.0.0

23 Oct 2018 — 21:27: 14 UTC

BREAKING

  • HyperRequest: Do not include username & password unless they have values (dcd2270)

chore

  • test: Add Adobe 2018 to Travis CI (14506b6)

fix

  • CHANGELOG: Correct changelog for 2.0.0 (a25648e)

v2.0.0

23 Oct 2018 — 19:44: 23 UTC

chore

  • test: Add Adobe 2018 to Travis CI (14506b6)

fix

  • HyperRequest: Do not include username & password unless they have values (dcd2270)

v1.15.0

19 Jul 2018 — 03:24: 45 UTC

feat

  • HyperRequest: Add throw on error flag (bf05152)

v1.14.5

14 May 2018 — 18:35: 29 UTC

fix

  • HyperResponse: Use 504 status code for incomplete responses. (589a6c6)

v1.14.4

20 Apr 2018 — 22:38: 10 UTC

fix

  • HyperRequest: Include equal signs in query param values (abc36be)

24 Jan 2018

other

24 Jan 2018

other

24 Jan 2018

other

23 Jan 2018

chore

  • box.json: Migrate to coldbox-modules organization (c16a9a4)
  • box.json: Update description (1c7f268)
  • release: Enable semantic release (39e9ebd)

doc

  • docblocks: Update the docblock for data in HyperBuilder (a33ef95)

docs

  • README: Fix Travis CI link (d4785e4)
  • HyperRequest: Add missing docblocks (8f6a3b5)
  • README: Add initial documentation (9104e89)
  • docblocks: Update docblocks for HyperBuilder, HyperRequest, and HyperResponse (6eb0087)

feat

  • HyperRequest: Add a when helper to execute conditions without breaking chaining. (b8ec096)
  • HyperRequest: Clear out any configured values of the HyperRequest. (ca13e6f)
  • HyperRequest: Add configurable timeout (929abeb)

fix

  • box.json: Fix line endings (102ee22)
  • box.json: Use * as default version to avoid installation issues (again) (d2b32ff)
  • box.json: Use latest as default version to avoid installation issues (4c56adc)
  • box.json: Use * as default version to avoid installation issues (c0b5294)
  • HyperRequest: Missing semicolon (484fa87)
  • HyperRequest: Fix for Lucee 4 compatibility on LinkedHashMaps and keyArray (a8b64de)
  • HyperRequest: Preserve case in header names (59c3349)
  • HyperRequest: Preserve case for query parameters (617f5db)
  • HyperRequest: Serialize both params from the url and set on the HyperRequest (7e960a0)
  • HyperResponse: Default to UTF-8 charset if none is present in the response. (9587100)
  • HyperRequest: Fix withHeaders and withQueryParams for Lucee compatibility (26d5628)
  • HyperBuilder: Only map HyperBuilder as a singleton in WireBox (e5556f7)

other

  • *: Trigger build (46ae862)
  • *: 1.3.0 (293bdc4)
  • *: 1.3.0 (a9f939b)
  • *: 1.3.0 (a66c31a)
  • *: 1.0.0 (215fb05)
  • *: Docblocks for HyperBuilder (18c4cb2)
  • *: Add PUT, PATCH, and DELETE method shortcuts (f79694b)
  • *: Add basic auth (dc90012)
  • *: Rename makeRequest to send (05041b5)
  • *: Serialize query params (9072a48)
  • *: Add withHeaders method to set multiple headers at once (f4adf3e)
  • *: Pass on any init arguments to builder to the default request (03a05a3)
  • *: Allow defaults to be set on the HyperBuilder that appear on each request (ab034ca)
  • *: Refactor to use internal api instead of external one (9f21e88)
  • *: Add status code detection to the response class (abbdd70)
  • *: Begin README (61cd67c)
  • *: Default engine to the most restrictive engine we support. (54eed06)
  • *: Switch ColdBox to be a devDependency (2871bc6)
  • *: Add in missing coldbox dependency (cefb604)
  • *: Some refactoring and fixes for ACF. (08dc986)
  • *: Allow for POST requests (77a28ee)
  • *: Handle redirects and store the request on the response (c1f6b33)
  • *: It passes through all other methods to the HyperRequest class. (ccfd213)
  • *: Throw an exception when trying to deserialize data to json that is not json (7030d38)
  • *: Make a basic GET request with Hyper! (005edfd)

23 Jan 2018

chore

  • box.json: Migrate to coldbox-modules organization (c16a9a4)
  • box.json: Update description (1c7f268)
  • release: Enable semantic release (39e9ebd)

doc

  • docblocks: Update the docblock for data in HyperBuilder (a33ef95)

docs

  • HyperRequest: Add missing docblocks (8f6a3b5)
  • README: Add initial documentation (9104e89)
  • docblocks: Update docblocks for HyperBuilder, HyperRequest, and HyperResponse (6eb0087)

feat

  • HyperRequest: Add a when helper to execute conditions without breaking chaining. (b8ec096)
  • HyperRequest: Clear out any configured values of the HyperRequest. (ca13e6f)
  • HyperRequest: Add configurable timeout (929abeb)

fix

  • box.json: Use * as default version to avoid installation issues (again) (d2b32ff)
  • box.json: Use latest as default version to avoid installation issues (4c56adc)
  • box.json: Use * as default version to avoid installation issues (c0b5294)
  • HyperRequest: Missing semicolon (484fa87)
  • HyperRequest: Fix for Lucee 4 compatibility on LinkedHashMaps and keyArray (a8b64de)
  • HyperRequest: Preserve case in header names (59c3349)
  • HyperRequest: Preserve case for query parameters (617f5db)
  • HyperRequest: Serialize both params from the url and set on the HyperRequest (7e960a0)
  • HyperResponse: Default to UTF-8 charset if none is present in the response. (9587100)
  • HyperRequest: Fix withHeaders and withQueryParams for Lucee compatibility (26d5628)
  • HyperBuilder: Only map HyperBuilder as a singleton in WireBox (e5556f7)

other

  • *: Trigger build (46ae862)
  • *: 1.3.0 (293bdc4)
  • *: 1.3.0 (a9f939b)
  • *: 1.3.0 (a66c31a)
  • *: 1.0.0 (215fb05)
  • *: Docblocks for HyperBuilder (18c4cb2)
  • *: Add PUT, PATCH, and DELETE method shortcuts (f79694b)
  • *: Add basic auth (dc90012)
  • *: Rename makeRequest to send (05041b5)
  • *: Serialize query params (9072a48)
  • *: Add withHeaders method to set multiple headers at once (f4adf3e)
  • *: Pass on any init arguments to builder to the default request (03a05a3)
  • *: Allow defaults to be set on the HyperBuilder that appear on each request (ab034ca)
  • *: Refactor to use internal api instead of external one (9f21e88)
  • *: Add status code detection to the response class (abbdd70)
  • *: Begin README (61cd67c)
  • *: Default engine to the most restrictive engine we support. (54eed06)
  • *: Switch ColdBox to be a devDependency (2871bc6)
  • *: Add in missing coldbox dependency (cefb604)
  • *: Some refactoring and fixes for ACF. (08dc986)
  • *: Allow for POST requests (77a28ee)
  • *: Handle redirects and store the request on the response (c1f6b33)
  • *: It passes through all other methods to the HyperRequest class. (ccfd213)
  • *: Throw an exception when trying to deserialize data to json that is not json (7030d38)
  • *: Make a basic GET request with Hyper! (005edfd)
  • *: Initial commit (de0c27d)

23 Jan 2018

chore

  • box.json: Migrate to coldbox-modules organization (c16a9a4)
  • box.json: Update description (1c7f268)
  • release: Enable semantic release (39e9ebd)

doc

  • docblocks: Update the docblock for data in HyperBuilder (a33ef95)

docs

  • HyperRequest: Add missing docblocks (8f6a3b5)
  • README: Add initial documentation (9104e89)
  • docblocks: Update docblocks for HyperBuilder, HyperRequest, and HyperResponse (6eb0087)

feat

  • HyperRequest: Add a when helper to execute conditions without breaking chaining. (b8ec096)
  • HyperRequest: Clear out any configured values of the HyperRequest. (ca13e6f)
  • HyperRequest: Add configurable timeout (929abeb)

fix

  • box.json: Use * as default version to avoid installation issues (again) (d2b32ff)
  • box.json: Use latest as default version to avoid installation issues (4c56adc)
  • box.json: Use * as default version to avoid installation issues (c0b5294)
  • HyperRequest: Missing semicolon (484fa87)
  • HyperRequest: Fix for Lucee 4 compatibility on LinkedHashMaps and keyArray (a8b64de)
  • HyperRequest: Preserve case in header names (59c3349)
  • HyperRequest: Preserve case for query parameters (617f5db)
  • HyperRequest: Serialize both params from the url and set on the HyperRequest (7e960a0)
  • HyperResponse: Default to UTF-8 charset if none is present in the response. (9587100)
  • HyperRequest: Fix withHeaders and withQueryParams for Lucee compatibility (26d5628)
  • HyperBuilder: Only map HyperBuilder as a singleton in WireBox (e5556f7)

other

  • *: Trigger build (46ae862)
  • *: 1.3.0 (293bdc4)
  • *: 1.3.0 (a9f939b)
  • *: 1.3.0 (a66c31a)
  • *: 1.0.0 (215fb05)
  • *: Docblocks for HyperBuilder (18c4cb2)
  • *: Add PUT, PATCH, and DELETE method shortcuts (f79694b)
  • *: Add basic auth (dc90012)
  • *: Rename makeRequest to send (05041b5)
  • *: Serialize query params (9072a48)
  • *: Add withHeaders method to set multiple headers at once (f4adf3e)
  • *: Pass on any init arguments to builder to the default request (03a05a3)
  • *: Allow defaults to be set on the HyperBuilder that appear on each request (ab034ca)
  • *: Refactor to use internal api instead of external one (9f21e88)
  • *: Add status code detection to the response class (abbdd70)
  • *: Begin README (61cd67c)
  • *: Default engine to the most restrictive engine we support. (54eed06)
  • *: Switch ColdBox to be a devDependency (2871bc6)
  • *: Add in missing coldbox dependency (cefb604)
  • *: Some refactoring and fixes for ACF. (08dc986)
  • *: Allow for POST requests (77a28ee)
  • *: Handle redirects and store the request on the response (c1f6b33)
  • *: It passes through all other methods to the HyperRequest class. (ccfd213)
  • *: Throw an exception when trying to deserialize data to json that is not json (7030d38)
  • *: Make a basic GET request with Hyper! (005edfd)
  • *: Initial commit (de0c27d)

23 Jan 2018

chore

  • box.json: Migrate to coldbox-modules organization (c16a9a4)
  • box.json: Update description (1c7f268)
  • release: Enable semantic release (39e9ebd)

doc

  • docblocks: Update the docblock for data in HyperBuilder (a33ef95)

docs

  • HyperRequest: Add missing docblocks (8f6a3b5)
  • README: Add initial documentation (9104e89)
  • docblocks: Update docblocks for HyperBuilder, HyperRequest, and HyperResponse (6eb0087)

feat

  • HyperRequest: Add a when helper to execute conditions without breaking chaining. (b8ec096)
  • HyperRequest: Clear out any configured values of the HyperRequest. (ca13e6f)
  • HyperRequest: Add configurable timeout (929abeb)

fix

  • box.json: Use * as default version to avoid installation issues (again) (d2b32ff)
  • box.json: Use latest as default version to avoid installation issues (4c56adc)
  • box.json: Use * as default version to avoid installation issues (c0b5294)
  • HyperRequest: Missing semicolon (484fa87)
  • HyperRequest: Fix for Lucee 4 compatibility on LinkedHashMaps and keyArray (a8b64de)
  • HyperRequest: Preserve case in header names (59c3349)
  • HyperRequest: Preserve case for query parameters (617f5db)
  • HyperRequest: Serialize both params from the url and set on the HyperRequest (7e960a0)
  • HyperResponse: Default to UTF-8 charset if none is present in the response. (9587100)
  • HyperRequest: Fix withHeaders and withQueryParams for Lucee compatibility (26d5628)
  • HyperBuilder: Only map HyperBuilder as a singleton in WireBox (e5556f7)

other

  • *: Trigger build (46ae862)
  • *: 1.3.0 (293bdc4)
  • *: 1.3.0 (a9f939b)
  • *: 1.3.0 (a66c31a)
  • *: 1.0.0 (215fb05)
  • *: Docblocks for HyperBuilder (18c4cb2)
  • *: Add PUT, PATCH, and DELETE method shortcuts (f79694b)
  • *: Add basic auth (dc90012)
  • *: Rename makeRequest to send (05041b5)
  • *: Serialize query params (9072a48)
  • *: Add withHeaders method to set multiple headers at once (f4adf3e)
  • *: Pass on any init arguments to builder to the default request (03a05a3)
  • *: Allow defaults to be set on the HyperBuilder that appear on each request (ab034ca)
  • *: Refactor to use internal api instead of external one (9f21e88)
  • *: Add status code detection to the response class (abbdd70)
  • *: Begin README (61cd67c)
  • *: Default engine to the most restrictive engine we support. (54eed06)
  • *: Switch ColdBox to be a devDependency (2871bc6)
  • *: Add in missing coldbox dependency (cefb604)
  • *: Some refactoring and fixes for ACF. (08dc986)
  • *: Allow for POST requests (77a28ee)
  • *: Handle redirects and store the request on the response (c1f6b33)
  • *: It passes through all other methods to the HyperRequest class. (ccfd213)
  • *: Throw an exception when trying to deserialize data to json that is not json (7030d38)
  • *: Make a basic GET request with Hyper! (005edfd)
  • *: Initial commit (de0c27d)

23 Jan 2018

fix

  • box.json: Use * as default version to avoid installation issues (again) (d2b32ff)
  • box.json: Use latest as default version to avoid installation issues (4c56adc)

$ box install hyper

No collaborators yet.
     
5.00 / 1
  • {{ getFullDate("2017-11-17T13:31:24Z") }}
  • {{ getFullDate("2024-06-04T15:52:37Z") }}
  • 15,615
  • 219,965