pasted-request
v1.3.0
Published
![license](https://img.shields.io/npm/l/pasted-request) ![version](https://img.shields.io/npm/v/pasted-request)
Downloads
1
Readme
Pasted Request
Generate a http request config from a curl command string or a raw http request string.
Installation
yarn add pasted-request
npm i pasted-reqeust
Usage
import axios from 'axios;
import request from 'pasted-request'
const reqbin = request.curl`
curl -X POST https://reqbin.com/echo/post/json?foo=true \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "Id=78912&Customer=Jason%20Sweet"
`
reqbin.method // 'post'
reqbin.url(); // https://reqbin.com/echo/post/json?foo=true
reqbin.url({ foo: false, bar: 'baz' }); // https://reqbin.com/echo/post/json?foo=false&bar=baz
reqbin.headers(); // { 'accept': 'application/json', 'content-type': 'application/x-www-form-urlencoded' }
reqbin.headers({ cookie: 'foo=bar' }); // { 'accept': 'application/json', 'content-type': 'application/x-www-form-urlencoded': 'cookie': 'foo=bar' }
reqbin.body(); // 'Id=78912&Customer=Jason%20Sweet'
reqbin.body({Id: 1000}); // 'Id=1000&Customer=Jason%20Sweet'
// same as above
const reqbin2 = request.http`
PATCH /echo/post/json?foo=true HTTP/1.1
Host: reqbin.com
Accept: application/json
Content-Type: application/json
Content-Length: 81
{
"Id": 78912,
"Customer": "Jason Sweet"
}
`
const { method, url, headers, body } = reqbin2;
axios[method](url(), body(), { headers: headers() })
.then(response => response.data)
.then(console.log)
Caveat
Parser only supports simple GET, DELETE requests and application/json
or application/x-www-form-urlencoded
POST, PATCH, PUT request only.
License
MIT