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

Kikobeats / cacheable-response
99%

Build:
DEFAULT BRANCH: master
Repo Added 22 Feb 2019 10:11AM UTC
Files 2
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

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • background
  • boolean
  • compress
  • cursor/critical-bug-investigation-7802
  • cursor/critical-bug-investigation-87a9
  • cursor/critical-bug-investigation-8fdc
  • cursor/critical-bug-investigation-a0e5
  • cursor/critical-bug-investigation-cfda
  • cursor/critical-bug-investigation-ec08
  • cursor/critical-bug-investigation-fbca
  • cursor/critical-bug-management-5e52
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/checkout-7
  • dependabot/github_actions/pnpm/action-setup-5
  • dependabot/github_actions/pnpm/action-setup-6
  • dependabot/npm_and_yarn/keyvhq/memoize-2.2.1
  • dependabot/npm_and_yarn/normalize-url-5.0.0
  • dependabot/npm_and_yarn/normalize-url-5.1.0
  • dependabot/npm_and_yarn/normalize-url-5.3.0
  • dependabot/npm_and_yarn/pretty-ms-6.0.0
  • dependabot/npm_and_yarn/pretty-ms-7.0.0
  • etag
  • examples
  • fix/memoize-stale-bypass
  • footprint
  • greenkeeper/compress-brotli-1.0.2
  • greenkeeper/compress-brotli-1.0.3
  • greenkeeper/compress-brotli-1.0.4
  • greenkeeper/compress-brotli-1.0.6
  • greenkeeper/compress-brotli-1.0.7
  • greenkeeper/initial
  • greenkeeper/normalize-url-4.3.0
  • greenkeeper/pretty-ms-5.0.0
  • invalidation
  • next
  • serialize
  • stale
  • v1.1.0
  • v1.1.1
  • v1.1.2
  • v1.1.3
  • v1.1.4
  • v1.1.5
  • v1.1.6
  • v1.10.0
  • v1.10.1
  • v1.10.2
  • v1.2.0
  • v1.2.1
  • v1.3.0
  • v1.3.1
  • v1.3.2
  • v1.4.0
  • v1.4.1
  • v1.4.2
  • v1.5.0
  • v1.5.1
  • v1.5.2
  • v1.6.0
  • v1.6.1
  • v1.6.10
  • v1.6.11
  • v1.6.12
  • v1.6.2
  • v1.6.3
  • v1.6.4
  • v1.6.5
  • v1.6.6
  • v1.6.7
  • v1.6.8
  • v1.6.9
  • v1.7.1
  • v1.7.2
  • v1.7.3
  • v1.7.4
  • v1.7.5
  • v1.8.0
  • v1.9.0
  • v1.9.1
  • v1.9.2
  • v2.0.0
  • v2.0.1
  • v2.0.10
  • v2.0.2
  • v2.0.3
  • v2.0.4
  • v2.0.5
  • v2.0.6
  • v2.0.7
  • v2.0.8
  • v2.0.9
  • v2.1.0
  • v2.1.1
  • v2.1.2
  • v2.1.3
  • v2.1.4
  • v2.1.5
  • v2.1.6
  • v2.1.7
  • v2.1.9

30 Jun 2026 08:37AM UTC coverage: 98.855% (+0.004%) from 98.851%
28431450579

push

github

web-flow
fix: skip 304 short-circuit when get bypasses cache (#140)

* fix: skip 304 short-circuit when get bypasses cache

Returning null/undefined from .get() is a documented cache bypass. After
#138 stopped the null crash, matching If-None-Match still triggered a 304
with an empty body because the etag was derived from the {} fallback while
send() was never called.

Only return 304 when memoize produced a stored value (raw is truthy).

Co-authored-by: kikohumanbeatbox <kikohumanbeatbox@gmail.com>

* refactor: gate 304 short-circuit on hasValue instead of raw

The 304 revalidation should fire only when memoize actually had a stored
value. `hasValue` is the semantic flag from @keyvhq/memoize for exactly
that, already destructured at the call site. Gating on `raw` truthiness
worked for the documented bypass case only because compress(undefined)
returns undefined, an implicit coupling; hasValue also stays correct when
.get() returns a falsy primitive.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: kikohumanbeatbox <kikohumanbeatbox@gmail.com>
Co-authored-by: Kiko Beats <josefrancisco.verdu@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

57 of 60 branches covered (95.0%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

202 of 202 relevant lines covered (100.0%)

30.97 hits per line

Relevant lines Covered
Build:
Build:
202 RELEVANT LINES 202 COVERED LINES
30.97 HITS PER LINE
Source Files on master
  • Tree
  • List 2
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28431450579 master fix: skip 304 short-circuit when get bypasses cache (#140) * fix: skip 304 short-circuit when get bypasses cache Returning null/undefined from .get() is a documented cache bypass. After #138 stopped the null crash, matching If-None-Match still t... push 30 Jun 2026 08:37AM UTC web-flow github
98.85
27829390638 master build(deps): bump actions/checkout from 6 to 7 (#139) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blo... push 19 Jun 2026 01:45PM UTC web-flow github
98.85
27602732204 master fix: handle null return from get without crashing (#138) Returning null from .get() is documented as a cache bypass alongside undefined, but typeof null === 'object' caused an uncaught TypeError when assigning etag. Normalize null to undefined so... push 16 Jun 2026 07:53AM UTC web-flow github
98.85
27492456160 master chore: update dependencies (#137) push 14 Jun 2026 07:53AM UTC web-flow github
99.22
27209552996 master fix: force bypass returns fresh data during stale window (#132) Bump @keyvhq/memoize to ~2.2.4 which skips the stale fast-path when forceExpiration is set, so ?force=true always awaits the origin handler. Co-authored-by: Claude Opus 4.6 <noreply... push 09 Jun 2026 01:29PM UTC web-flow github
99.22
27202596167 master build: tweaks push 09 Jun 2026 11:19AM UTC Kikobeats github
99.22
25429836663 master build(deps): bump @keyvhq/memoize from 2.1.16 to 2.2.1 (#128) * build(deps): bump @keyvhq/memoize from 2.1.16 to 2.2.1 Bumps [@keyvhq/memoize](https://github.com/microlinkhq/keyv/tree/HEAD/packages/memo) from 2.1.16 to 2.2.1. - [Release notes](h... push 06 May 2026 10:26AM UTC web-flow github
99.22
24388650267 master build(deps): bump pnpm/action-setup from 5 to 6 (#127) * build(deps): bump pnpm/action-setup from 5 to 6 Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 5 to 6. - [Release notes](https://github.com/pnpm/action-setup/releases... push 14 Apr 2026 08:20AM UTC web-flow github
99.22
23240660787 master build(deps): bump pnpm/action-setup from 4 to 5 (#125) Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/... push 18 Mar 2026 10:40AM UTC web-flow github
99.22
23061299812 master fix: set private Cache-Control for forced responses (#124) * fix: set private Cache-Control for forced responses When `forceExpiration` is true, the response was emitted with `Cache-Control: public, must-revalidate, max-age=0`. The `public` dire... push 13 Mar 2026 04:51PM UTC web-flow github
99.22
See All Builds (392)
  • Repo on GitHub
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