• 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: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 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
  • 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
  • master
  • 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
28431142346 cursor/critical-bug-investigation-87a9 Merge fa54f4a81 into 35727b198 Pull #140 30 Jun 2026 08:32AM UTC web-flow github
98.85
28419665986 cursor/critical-bug-investigation-87a9 Merge b80d5bde6 into 35727b198 Pull #140 30 Jun 2026 04:10AM 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
27819567189 dependabot/github_actions/actions/checkout-7 Merge 7d8fb9098 into 17da0d73e Pull #139 19 Jun 2026 10:12AM 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
27593674754 cursor/critical-bug-investigation-a0e5 Merge 6cfe9597a into 19428cb92 Pull #138 16 Jun 2026 04:13AM UTC web-flow github
98.85
27492456160 master chore: update dependencies (#137) push 14 Jun 2026 07:53AM UTC web-flow github
99.22
27492431974 next Merge caec31d74 into caf7bad3f Pull #137 14 Jun 2026 07:51AM UTC web-flow github
99.22
27487911485 cursor/critical-bug-investigation-fbca Merge ae6d46ba2 into caf7bad3f Pull #136 14 Jun 2026 04:09AM UTC web-flow github
97.54
See All Builds (391)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc