Minimum reproducible example for "Method not allowed" error
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
Línea de trabajo
Comienza con test.js y reproduce la solicitud GET contra el servidor local. Sigue las llamadas api.get('/'), api.routes(true) y api.run({ event, context }) para determinar por qué la ruta GET mostrada sigue devolviendo “Method not allowed”. Se considera terminado cuando el ejemplo mínimo gestiona la solicitud correctamente o documenta la causa confirmada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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 ║
╚══════════╧═════════╧═══════════╝
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.5k
- Forks
- 127
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeremydaly/lambda-api
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jeremydaly/lambda-api#356 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
jeremydaly/lambda-api#270 ·
-
Logger OutputQuizá libre de nuevo @naorpeled la tomó hace 901 días y no hay ningún pull request abierto. Abierto
jeremydaly/lambda-api#259 · 1 comentario · 1 asignado ·
-
Is it possible to disable versioning?Posiblemente ocupada @naorpeled la tomó hace 96 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
jeremydaly/lambda-api#257 · 5 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
jeremydaly/lambda-api#245 · 2 comentarios ·
Todos los issues de jeremydaly/lambda-api
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
naver/egjs-flicking#971 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
RADAR-base/radar-self-enrolment-ui#118 ·
Los mantenedores suelen responder en 1 día