now-middleware icon indicating copy to clipboard operation
now-middleware copied to clipboard

Chain Express middlewares with Vercel (ex-ZEIT) Now serverless functions.

Actions Status npm (scoped) dependencies Status Buy me a tree




now-middleware

Chain Express middlewares with Vercel Serverless Functions.




Installation

yarn add @amaurym/now-middleware

Usage

The package exposes one chain function.

import { chain } from '@amaurym/now-middleware';
import { NowRequest, NowResponse } from '@vercel/node';

// Import a couple of Express middlewares
import cors from 'cors'; // Enable cross-origin resource sharing (CORS) with various options
import morgan from 'morgan'; // HTTP request logger

async function handler(_req: NowRequest, res: NowResponse): Promise<void> {
  // This is your normal ZEIT Now function.
  res.send('Everything OK.');
}

// Chain some middlewares before calling the ZEIT Now serverless function
export default chain(cors(), morgan('common'))(handler);

Learn More

  • Vercel Serverless Functions: https://vercel.com/docs/v2/serverless-functions/introduction
  • Express middlewares: https://expressjs.com/en/guide/using-middleware.html