print all received requests as curl's

Usage no npm install needed!

<script type="module">
  import curlyExpress from '';



curly-express print all received requests as curls.

Version Bundle size Downloads

CodeFactor SonarCloud Codacy Total alerts Language grade Scrutinizer

Dependencies Security Build Status Coverage Status

Commit activity FOSSA License

Table of Contents


Platform Status

To use library you need to have node and npm installed in your machine:

  • node >=10
  • npm >=6

Package is continuously tested on darwin, linux, win32 platforms. All active and maintenance LTS node releases are supported.


To install the library run the following command

  npm i --save curly-express


This package can be used as middleware. Note that it must be placed after body-parser in order to receive the request body.

Default configuration

In the default configuration, the middleware will print cURL to stdout:

import curl             from 'curly-express';
import express          from 'express';

const app = express();


Advanced usage

You can customize some stuff by importing the factory method:

Customize logger

You can pass your own logger as an optional parameter:

import { cURL }  from 'curly-express';

const curl =  cURL({
    log : console.log


Attach to request

If you need curl in further middlewares, you can do it with optional argument attach:

import { cURL }  from 'curly-express';

const curl =  cURL({
    attach : true

app.use(curl); // check req._curl

it will add curl to _curl property of the request object. If you want to change the property key, use:

const curl =  cURL({
    attach : '_curl_custom_key'


Make the changes to the code and tests. Then commit to your branch. Be sure to follow the commit message conventions. Read Contributing Guidelines for details.