CORS pre-flight OPTIONS not working because of lowercase casting
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- aws, javascript, node.js
Direzione di ricerca
Inizia riproducendo la richiesta OPTIONS usando la route fornita api.options("/*", ...) e verifica come lambda-api restituisce gli header CORS configurati. Traccia la gestione degli header della risposta responsabile della conversione in minuscolo, quindi verifica la risposta preflight corretta in Chrome e con Postman.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi all,
I just picked up lambda-api, and seems like its the perfect solution for my project; however, I have been struggling for hours trying to get CORS to work.
My OPTIONS pre-flight request headers are being properly sent, but they're all lower case, and it's causing my web appl running in Google Chrome to not recognize it as Access-Control-Allow-Origin as this is the error I am receiving from it:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
I verified, with postman, that this is the headers coming back from the pre-flight OPTIONS request:
However, noticed that they're all lower case, and thus Google Chrome cannot find Access-Control-Allow-Origin
This is how it's getting received in Google Chrome:
This is how I am providing CORS in my Lambda:
// import AWS Lambda types
import { APIGatewayProxyEventV2, Context } from "aws-lambda";
// import Lambda API default function
import createAPI from "lambda-api";
import { Authorizer, Role } from "./authorizer";
import { ListProducts } from "./products/List";
// instantiate framework
const api = createAPI({});
// ************************************* CORS *************************************
api.options("/*", (req: any, res: any) => {
// Add CORS headers
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "*");
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization, Content-Length, X-Requested-With");
res.sendStatus(200);
});
Please suggest a workaround for current version of Chrome.
Thank you!
- Lingua principale
- JavaScript
- Stelle
- 1.5k
- Fork
- 127
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 jeremydaly/lambda-api
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
jeremydaly/lambda-api#356 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
jeremydaly/lambda-api#270 ·
-
Logger OutputForse di nuovo libera @naorpeled l’ha presa 900 giorni fa e non c’è nessuna pull request aperta. Aperta
jeremydaly/lambda-api#259 · 1 commento · 1 assegnatario ·
-
Is it possible to disable versioning?Forse già presa @naorpeled l’ha presa 94 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
jeremydaly/lambda-api#257 · 5 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
jeremydaly/lambda-api#251 · 1 commento ·
Tutte le issue di jeremydaly/lambda-api
Issue simili
-
[DevEx]: Playground specs are excluded from both GUI and CI, so videoPlayground is unreachableApertadev experience
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cuttle-cards/cuttle#1413 ·
I maintainer di solito rispondono entro 1 giorno
-
macOS
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
beyondcode/herd-community#1761 ·
-
More wallpapersApertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Make a dry lesson funApertacontent good first issue hacktoberfest
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
vieanderes/understory#19 ·
-
automated issue report
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
lirantal/discoprint#37 ·
I maintainer di solito rispondono entro 1 giorno