• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Kikobeats / send-http / 30463934287
100%

Build:
DEFAULT BRANCH: master
Ran 29 Jul 2026 03:03PM UTC
Jobs 1
Files 1
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 03:02PM UTC coverage: 100.0%. Remained the same
30463934287

push

github

web-flow
feat: add sendStream (#20)

* feat: add sendStream

send() destroys the response when a stream fails, which is the right
default but the only option. Services that proxy an upstream want to
answer instead: 504 while the headers are still pending, destroy once
they are on the wire so a partial body cannot pass as a complete one.

sendStream exposes that as onError. It runs on the stream rather than on
the pipeline callback, because pipeline destroys the response before
calling back and nothing can be written after that.

send(res, statusCode, stream) now delegates to it, so both paths share
the same teardown.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FCxsnS9h1VeVbsvUuyDyGU

* fix: do not default the content-type in sendStream

A proxied body should keep the type of whatever produced it. Claiming
application/octet-stream up front is indistinguishable from a real type
to anything downstream, so a sniffer that only fills in a missing
content-type stops firing and browsers download what they should render.

send keeps the default, so its behaviour is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FCxsnS9h1VeVbsvUuyDyGU

* feat: detect the content-type of a streamed body

Streams were sent as application/octet-stream, which is a guess that
makes browsers download what they should render. @kikobeats/set-content-type
reads the real type from the first bytes instead, respecting a
content-type that is already set.

BREAKING CHANGE: engines moves from node >= 18 to node >= 24, required by
file-type via @kikobeats/set-content-type. send-http also stops being
dependency free, and a streamed body no longer defaults to
application/octet-stream: an unrecognized payload now has no content-type.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FCxsn... (continued)

22 of 22 branches covered (100.0%)

Branch coverage included in aggregate %.

52 of 52 relevant lines covered (100.0%)

4.25 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30463934287.1 29 Jul 2026 03:03PM UTC 1
100.0
GitHub Action Run
Source Files on build 30463934287
  • Tree
  • List 1
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30463934287
  • 6bd49446 on github
  • Prev Build on master (#30366373876)
  • Next Build on master (#30548598266)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc