format-curl

2.2.1 • Public • Published

format-curl

Format curl execution from request params

Installation

from npm

npm install --save format-curl

from unpkg

<script src="https://unpkg.com/format-curl@latest/dist/index.js"></script>
<!-- or -->
<script src="https://unpkg.com/format-curl@latest/dist/index.min.js"></script>
<!-- example -->
<script type="text/javascript">
const curl = window.formatCurl({
    href: 'http://my-host/pathname/',
},
{
    args: ['-v'],
    headers: {
        'accept': '*/*',
    },
});
 
console.log(curl);
</script> 

Usage

import curl from 'format-curl';
 
const url = 'https://myhost.com?param=value';
const options = {
    headers: {
        'x-header': 'test',
        'x-header2': 'test2'
    },
    body: JSON.stringify({
        param: '123'
    }),
    method: 'PUT',
    args: ['-vvv']
};
 
console.log(curl(url, options));
// curl -vvv "https://myhost.com?param=value" -H "x-header: test" -H "x-header2: test2" --data '{"param":"123"}' -X PUT

See test/index.test.js for more examples!

API

curl(url, [options])

Returns a string with a resulting curl command.

url

Type: string Object

The URL to request, as a string, a WHATWG URL or https.request options.

In case you provide partial or empty url it will use base url http://localhost/ to fullfil it.

options

Type: Object

headers

Type: Object

Request headers.

json

Type: 'boolean'

Helper for json format specific headers. Adds accept and content-type headers with application/json value in case they aren't presented.

method

Type: string

Request method.

body

Type: string Object

Request body. If you provide an object, it will be serialized via JSON.stringify.

args

Type: Array

Curl arguments.

Publish

Build package and publish under beta tag:

npm run build && npm publish --tag beta

Now you can install it using published version (npm install format-curl@<version>) and test it. When you finish, add a latest tag to the published version:

npm dist-tag rm format-curl beta
npm dist-tag add format-curl@<version> latest

TODO

  • user-argent, cookies as a params (and as curl arguments)

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.2.1
    1,219
    • latest

Version History

Package Sidebar

Install

npm i format-curl

Weekly Downloads

1,222

Version

2.2.1

License

MIT

Unpacked Size

24.1 kB

Total Files

10

Last publish

Collaborators

  • megatolya
  • sullenor