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

umputun / newscope / 32345648948
81%
master: 81%

Build:
Build:
LAST BUILD BRANCH: feat/csrf-protection
DEFAULT BRANCH: master
Ran 20 Aug 2026 07:49AM UTC
Jobs 1
Files 24
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

20 Aug 2026 07:42AM UTC coverage: 80.901% (+0.009%) from 80.892%
32345648948

Pull #40

github

paskal
Wrap router with http.CrossOriginProtection for CSRF defence

Newscope has no CSRF protection: every state-changing endpoint under
/api/v1 accepts a cross-site form post, and the UI runs without tokens.
Go 1.25 ships http.CrossOriginProtection, which rejects unsafe methods
whose Sec-Fetch-Site or Origin marks them as cross-origin, and leaves
GET, HEAD and header-less requests from non-browser clients alone, so
RSS readers and API clients keep working.

The middleware runs directly after the throttle, ahead of rest.SizeLimit,
which reads the whole body into memory before passing the request on.

Using it raises the minimum go version to 1.25, matched in go.mod, both
workflows, CONTRIBUTING.md and CLAUDE.md.
Pull Request #40: Wrap router with http.CrossOriginProtection for CSRF defence

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

3719 of 4597 relevant lines covered (80.9%)

27.93 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32345648948.1 20 Aug 2026 07:49AM UTC 24
80.9
GitHub Action Run
Source Files on build 32345648948
  • Tree
  • List 24
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #40
  • PR Base - master (#23326286653)
  • 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