http-to-curl
Version:
Convert node HTTP request to curl
78 lines (58 loc) • 2.3 kB
Markdown
[](https://badge.fury.io/js/http-to-curl)
[](https://opensource.org/licenses/mit-license.php)

[](https://travis-ci.org/drgx/http-to-curl)
# 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](https://insomnia.rest/) and [Postman](https://www.getpostman.com/))? http-to-curl come to the rescue!!
## Installation ⚙️
```sh
yarn add http-to-curl
# old way
npm install http-to-curl --save
```
## Usage 📚
```js
// 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.
```js
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 ⚙️
```js
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!! 😎