Node's Perfect Mate

    @janiscommerce/sls-api-response

    1.5.0 • Public • Published

    Serverless API Response

    Build Status Coverage Status npm version

    A package to handle Serverless API Responses

    Installation

    npm install @janiscommerce/sls-api-response
    

    Usage

    'use strict';
    
    const { ApiResponse } = require('@janiscommerce/sls-api-response');
    
    // Successful response (default statusCode is 200)
    ApiResponse.send({
    	body: {
    		foo: 'bar'
    	}
    });
    
    // Successful response with response headers
    ApiResponse.send({
    	body: {
    		foo: 'bar'
    	},
    	headers: {
    		'x-foo': 'bar'
    	}
    });
    
    // Successful response with simple cookie
    ApiResponse.send({
    	body: {
    		foo: 'bar'
    	},
    	cookies: {
    		'my-cookie': 'bar'
    	}
    });
    
    // Successful response with complex cookie
    ApiResponse.send({
    	body: {
    		foo: 'bar'
    	},
    	cookies: {
    		'my-cookie': {
    			value: 'bar',
    			httpOnly: true,
    			secure: true,
    			path: '/',
    			expires: new Date(), // Or (new Date()).toUTCString()
    			domain: '.example.com'
    		}
    	}
    });
    
    // Error response (default statusCode is 500)
    ApiResponse.sendError(new Error('We have a problem'));
    // Response body: { "message": "We have a problem" }
    
    // Error response for a request with a client
    ApiResponse.sendError(new Error('We have a problem'), 'some-client-code');
    // Response body: { "message": "We have a problem" }
    
    // Error response with custom status code
    const error = new Error('You have a problem');
    error.statusCode = 400;
    ApiResponse.sendError(error);
    // Response body: { "message": "You have a problem" }
    
    // Error response with custom response body
    const error = new Error('You have a problem');
    error.body = { customErrorMessage: "Bad request body" }
    ApiResponse.sendError(error);
    // Response body: { "customErrorMessage": "Bad request body" }

    Configuration

    In order to work properly, you have to set valid response templates in each function configuration. An example can be found here

    Keywords

    none

    Install

    npm i @janiscommerce/sls-api-response

    DownloadsWeekly Downloads

    477

    Version

    1.5.0

    License

    ISC

    Unpacked Size

    8.28 kB

    Total Files

    5

    Last publish

    Collaborators

    • janiscommerce