/react-native-http-to-curl

NodeJs HTTP debugger to generate curl for each http request

Primary LanguageJavaScriptMIT LicenseMIT

npm version MIT Licence Depedencies Build Status

Node js HTTP request to cURL

Tired to manually generate curl from nodejs request for debugging proposes? Need to export nodejs request to your REST client (e.g. Insomnia and Postman)? http-to-curl come to the rescue!!

Installation ⚙️

yarn add http-to-curl
# old way
npm install http-to-curl --save

Usage 📚

// import httpToCurl on your server entry point of your project or code (e.g. server.js / index.js)
import httpToCurl from 'http-to-curl';
httpToCurl();

// Traditional way
const httpToCurl = require('http-to-curl').default;
httpToCurl();

//  Use your favorite http client to fetch (e.g. axios, isomorphic fetch or even vanilla request) all works well with http-to-curl.
//  In this example we are using axios.

import axios from 'axios'
const options = {
  url: 'https://jsonplaceholder.typicode.com/posts/1',
  method: 'get'
};

//Output
curl "https://jsonplaceholder.typicode.com/posts/1" -X GET -H "Accept: application/json, text/plain, */*" -H "User-Agent: axios/0.18.0"

It will listen all your nodejs http request and generate curl for each request. Its support all method (GET, POST, PUT, DELETE & PATCH)

Options

1. Filtering ✅

http-to-curl support filtering url using regex and string. Only match url will be generated.

import httpToCurl from 'http-to-curl';
//Single url match
const options = {
  filter: /api/v1/
}
httpToCurl(options);
//Multiple url match
const options = {
  filter: [/api/v1/, /api/v3/]
}
httpToCurl(options);

2. Custom callback ⚙️

const options = {
  customCallback: function(curlString) {
    console.log('hey this is the custom callback', curlString);
  },
};
httpToCurl(options);

Contributing

We'd ❤️ to have your helping hand on http-to-curl! Feel free to PR's, add issues or give feedback! Happy Hacking!! 😎