Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saehun/pasted-request
Generate a http request config from a curl command string or a raw http request string.
https://github.com/saehun/pasted-request
axios curl http nodejs parser request typescript
Last synced: about 1 month ago
JSON representation
Generate a http request config from a curl command string or a raw http request string.
- Host: GitHub
- URL: https://github.com/saehun/pasted-request
- Owner: saehun
- License: mit
- Created: 2021-06-24T20:47:30.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T08:41:01.000Z (about 2 years ago)
- Last Synced: 2024-12-09T04:34:41.920Z (about 2 months ago)
- Topics: axios, curl, http, nodejs, parser, request, typescript
- Language: TypeScript
- Homepage:
- Size: 473 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
README
# Pasted Request
![license](https://img.shields.io/npm/l/pasted-request)
![version](https://img.shields.io/npm/v/pasted-request)Generate a http request config from a curl command string or a raw http request string.
## Installation
```sh
yarn add pasted-request
npm i pasted-reqeust
```## Usage
```typescript
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=bazreqbin.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