biohttp: Normalized HTTP Transport with Circuit Breaking and Caching

Web service calls return a normalized result value instead of raising a condition, so a caller branches on data rather than on an error handler. Transport failure, a non-success status code, and an unreadable response body are reported as three distinct outcomes. Per-host circuit breaking, retry with a transient-failure predicate, optional throttling, redacted request headers, and a success-only cache come as defaults. Many questions to one source can be asked as a single batch, where only the entries the cache is missing reach the network. Service-specific knowledge is left to the client packages built on top. The circuit breaker is the pattern described in Nygard (2018, ISBN:9781680502398).

Version: 0.1.2
Depends: R (≥ 4.0)
Imports: cachem, curl, httr2, jsonlite, rlang, tools
Suggests: knitr, rmarkdown, testthat (≥ 3.0.0), webfakes, withr
Published: 2026-09-03
DOI: 10.32614/CRAN.package.biohttp (may not be active yet)
Author: Samuel Bharti ORCID iD [aut, cre, cph]
Maintainer: Samuel Bharti <samuelbharti.io at gmail.com>
BugReports: https://github.com/samuelbharti/biohttp/issues
License: MIT + file LICENSE
URL: https://github.com/samuelbharti/biohttp, https://www.samuelbharti.com/biohttp/
NeedsCompilation: no
Language: en-US
Citation: biohttp citation info
Materials: README, NEWS
CRAN checks: biohttp results

Documentation:

Reference manual: biohttp.html , biohttp.pdf
Vignettes: Writing a client against biohttp (source, R code)

Downloads:

Package source: biohttp_0.1.2.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): not available, r-release (x86_64): not available, r-oldrel (x86_64): not available

Linking:

Please use the canonical form https://CRAN.R-project.org/package=biohttp to link to this page.