kivra/restclient
55.3
Adequate · 2 October 2026
392
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is an Erlang HTTP client library that provides a robust interface for making RESTful requests. It supports a wide variety of data formats, including JSON, XML, multipart bodies, and binary data, with configurable response parsing. The library includes built-in features for distributed tracing via OpenTelemetry, automatic request retries, and comprehensive test coverage to ensure reliability.
Behavioural changes
Major API overhaul with new body handling, multipart support, and OpenTelemetry integration
The client library has been refactored to support a broader range of request and response types. Users can now send and receive multipart bodies (multi), PNG images, and percent-encoded data in addition to JSON and XML. The API accepts binary URLs and headers, and the \return\_maps\ option allows JSON and form-encoded responses to be returned as maps instead of proplists. The library now integrates OpenTelemetry for distributed tracing and includes retry logic via the \retries\ option. Additionally, the PATCH HTTP method is now supported, and the underlying JSON library has been switched to the OTP standard library \json\ module.
src · high confidence
Requires OTP 27 and upgrades HTTP client to Hackney v4
The library now requires Erlang/OTP 27 or later, as JSON handling has been switched to the standard library \json\ module. Additionally, the HTTP client dependency has been upgraded to Hackney v4 (specifically 4.7.4), which is backwards compatible with v1 usage but represents a significant underlying change. The project also drops support for older build tools like rebar2 and erlang.mk in favor of rebar3, and introduces code formatting via erlfmt.
(repo-wide) · high confidence
Test coverage
Added comprehensive test suite for REST client and utilities
Added a new test suite covering the \restc\ HTTP client and \mochiweb\_util\ utilities. The tests include property-based checks for URL construction (\prop\_restc\) and JSON/form body encoding/decoding with the new \return\_maps\ option (\prop\_restc\_body\), as well as functional tests for request retries, status code handling, body encoding types (JSON, percent, XML), and response decoding behavior (\restc\_SUITE\).
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 56 → 55 (-1.0)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 37 → 37 (+0.0)
- Readiness 64 → 61 (-3.7)
- Security 100 → 100 (+0.0)
Resolved (3)
- Coverage not measured — no coverage collector is wired up
- Documentation: no licence statement (README.md)
- Off-boarding risk: anonymized user #1
New (2)
- Off-boarding risk: anonymized user #1
- Outdated: hackney
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
kivra/restclient was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 3555cadac268cd3894b0c5c1daba1838fbe2d4e8 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.