1.3.0 • Published 3 years ago

pasted-request v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Pasted Request

license version

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

1.3.0

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago