Minimum reproducible example for "Method not allowed" error
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, node.js
Direzione di ricerca
Inizia da test.js e riproduci la richiesta GET verso il server locale. Traccia le chiamate api.get('/'), api.routes(true) e api.run({ event, context }) per determinare perché la route GET visualizzata restituisce ancora “Method not allowed”. Il lavoro è completato quando l'esempio minimo gestisce correttamente la richiesta o documenta la causa confermata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have this MRE
// test.js
import http from 'http';
import getLambdaAPI from 'lambda-api';
const getLambdaEvent = req => {
const event = {
path: req.url,
httpMethod: req.method,
requestContext: {
http: { method: req.method, path: req.url },
},
};
return event;
};
const api = getLambdaAPI();
api.get('/', (req, res) => {
const SERVICE_RESPONSE = "API_RUNNING";
console.log({ SERVICE_RESPONSE });
//return { SERVICE_RESPONSE: "API_RUNNING" };
res.status(200).json({ SERVICE_RESPONSE: "API_RUNNING" });
});
const lambdaHandler = async (event, context) => {
console.log(event);
console.log({
ROUTE_CODE: 'LAMBDA_EVENT',
PATH: event.requestContext?.http?.path,
METHOD: event.requestContext?.http?.method,
});
api.routes(true);
return await api.run({ event, context });
};
const handler = async (req, res) => {
try {
const lambdaEvent = getLambdaEvent(req);
const lambdaRes = await lambdaHandler(lambdaEvent, null)
res.statusCode = lambdaRes.statusCode;
res.end(lambdaRes.body);
} catch(SERVER_ERROR) {
console.log({ SERVER_ERROR });
res.statusCode = 500;
res.end(JSON.stringify({ REQUEST_PARSING_ERROR: SERVER_ERROR.toString() }));
}
}
const server = http.createServer(handler);
server.listen(8080);
When I run it with node test.js and make a GET request with postman to http://localhost:8080 I get {"error":"Method not allowed"}
Can you spot the issue? Me not neither GPT-4 ([email protected])
The console says this
api$ node test.js
{
path: '/',
httpMethod: 'GET',
requestContext: { http: { method: 'GET', path: '/' } }
}
{ ROUTE_CODE: 'LAMBDA_EVENT', PATH: '/', METHOD: 'GET' }
╔══════════╤═════════╤═══════════╗
║ METHOD │ ROUTE │ STACK ║
╟──────────┼─────────┼───────────╢
║ GET │ / │ unnamed ║
╚══════════╧═════════╧═══════════╝
- 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 901 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 95 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 35/100
jeremydaly/lambda-api#245 · 2 commenti ·
Tutte le issue di jeremydaly/lambda-api
Issue simili
-
Bump Firebase JS SDK (12.19.0 → 13.0.0)Forse già presa @SelaseKay l’ha presa oggi. ApertaNeeds Attention type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
invertase/react-native-firebase#9364 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
tchiotludo/akhq#3307 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
DietrichGebert/ponytail#1063 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
zen-browser/desktop#15809 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100