Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

S3 HeadObject ignores conditional request headers

Aperta
#1,607 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@RaphaelFakhri ci sta già lavorando.

Dal 25/10/2026.

  • #1608 di @RaphaelFakhri — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
postgresql, typescript
Ambito
api, backend

Direzione di ricerca

Start with src/http/routes/s3/commands/head-object.ts and trace how GetObject passes conditional headers through to S3ProtocolHandler.dbHeadObject. Add the corresponding checks for HeadObject, then find or add tests for matching and failed conditional requests. Done means matching If-None-Match returns 304 and stale If-Match returns 412.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

S3 HeadObject ignores If-Match, If-None-Match, If-Modified-Since and If-Unmodified-Since, so it always returns 200. S3 returns 304 for a matching If-None-Match (or If-Modified-Since when nothing changed) and 412 for a failed If-Match (or If-Unmodified-Since). GetObject on this server already does this.

Steps to reproduce

  1. Upload file.txt to a bucket through the S3 endpoint and note its ETag.
  2. Send HEAD /storage/v1/s3/<bucket>/file.txt with If-None-Match: "<etag>".
  3. Send the same request with If-Match: "stale".

Expected

Step 2 returns 304 Not Modified. Step 3 returns 412 Precondition Failed.

Actual

Both return 200 OK.

Cause

The HeadObject route schema (src/http/routes/s3/commands/head-object.ts) declares no headers, so the route never passes the conditional headers on, and S3ProtocolHandler.dbHeadObject never checks them.

Lingua principale
TypeScript
Stelle
1.3k
Fork
314
Merge medio
1g 19h
PR unite (30g)
98

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di supabase/storage

Tutte le issue di supabase/storage

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.