@miermontoto/lambda-responses
v1.0.1
Published
Standardized HTTP response helpers for AWS Lambda functions
Maintainers
Readme
@miermontoto/lambda-responses
Consistent HTTP response helpers for AWS Lambda functions. Provides type-safe response methods for all standard HTTP status codes with automatic CORS headers and error formatting.
Installation
pnpm add @miermontoto/lambda-responsesConfiguration
interface ResponseOptions {
headers?: Record<string, string>;
cors?: boolean; // default true
}
interface ErrorResponseOptions {
statusCode?: number;
error?: string;
details?: any;
}Usage
import { ok, badRequest, serverError, notFound } from '@miermontoto/lambda-responses';
import { APIGatewayProxyHandlerV2 } from 'aws-lambda';
export const handler: APIGatewayProxyHandlerV2 = async (event) => {
try {
// validate input
if (!event.body) {
return badRequest('Request body is required');
}
// process request
const data = JSON.parse(event.body);
// return success
return ok({
message: 'Success',
data: data
});
} catch (error) {
// return error
return serverError(error);
}
};Available Methods
Success Responses
ok(body?, options?)- 200 OKcreated(body?, options?)- 201 CreatednoContent(options?)- 204 No Content
Client Error Responses
badRequest(message?, options?)- 400 Bad Requestunauthorized(message?, options?)- 401 Unauthorizedforbidden(message?, options?)- 403 ForbiddennotFound(message?, options?)- 404 Not Foundconflict(message?, options?)- 409 ConflictunprocessableEntity(message?, options?)- 422 Unprocessable EntitytooManyRequests(message?, options?)- 429 Too Many Requests
Server Error Responses
serverError(message?, options?)- 500 Internal Server ErrorbadGateway(message?, options?)- 502 Bad GatewayserviceUnavailable(message?, options?)- 503 Service Unavailable
Other
customResponse(statusCode, body, options?)- Custom status coderedirect(location, statusCode?)- Redirect responsecreateResponse(statusCode, body, options?)- Base response builder
License
CC BY-NC-ND 4.0
