🐛 Bug: Newsletter API returns 500 for a non-form request body
I maintainer di solito rispondono entro 4 giorni
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 88/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Leggi src/pages/api/newsletter.ts e segui come l’handler chiama request.formData() e restituisce la risposta esistente "Invalid body". Riproduci il problema con la richiesta curl fornita, quindi verifica che un body che non è un form riceva 400 invece di 500, mentre le richieste con form valide continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Report Checklist
- I have tried restarting my IDE and the issue persists.
- I have pulled the latest
mainbranch of the repository. - I have searched for related issues and found none that matched my issue.
Expected
A POST to /api/newsletter with a body that is not form data, such as application/json, should get a 400 response.
Actual
request.formData() in src/pages/api/newsletter.ts throws on a JSON body, and the error is not caught, so the route responds with a 500. Reproduced with curl -X POST -H 'content-type: application/json' -d '{}' /api/newsletter.
Additional Info
Astro's origin check only covers form content types, which is why this body shape reaches the handler at all. Catching the parse failure and returning the existing "Invalid body" 400 is enough.
🩵
- Lingua principale
- Astro
- Stelle
- 12
- Fork
- 8
- Merge medio
- 3g 2h
- PR unite (30g)
- 57
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SquiggleTools/SquiggleConf.com
-
🚀 Feature: Add a countdown to the CFP opens sectionForse già presa @JoshuaKGoldberg l’ha presa 18 giorni fa. Apertatype: feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
SquiggleTools/SquiggleConf.com#255 ·
I maintainer di solito rispondono entro 4 giorni
-
type: feature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
SquiggleTools/SquiggleConf.com#265 ·
I maintainer di solito rispondono entro 4 giorni
-
🚀 Feature: Add a map above the Lunch section in the timelineForse già presa @JoshuaKGoldberg l’ha presa 18 giorni fa. Apertatype: feature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
SquiggleTools/SquiggleConf.com#258 ·
I maintainer di solito rispondono entro 4 giorni
-
type: feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
SquiggleTools/SquiggleConf.com#257 ·
I maintainer di solito rispondono entro 4 giorni
-
🚀 Feature: Shrink the CFP opens and past sponsors logos to ~40px tallForse già presa @JoshuaKGoldberg l’ha presa 23 giorni fa. Apertatype: feature
SquiggleTools/SquiggleConf.com#254 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di SquiggleTools/SquiggleConf.com
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
marmelab/atomic-crm#400 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
servo/rust-smallvec#827 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
bug webbackend
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
DOMjudge/domjudge#3886 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno