? HTTP CLI client for https://hoppscotch.io
⚠️⚠️⚠️⚠️⚠️⚠️
This project is now archived. If you want to use Hoppscotch as a CLI client for CI/CD purposes, please use the new Hoppscotch CLI.
⚠️⚠️⚠️⚠️⚠️⚠️
Send HTTP requests from terminal and Generate API Docs. An alternative to cURL, httpie ⚡️
$ sh -c "$(curl -sL https://git.io/getpwcli)"
$ git clone https://github.com/hoppscotch/hopp-cli.git
$ make
$ sudo make install
IMPORTANT: Not tested on Windows, please leave your feedback/bugs in the Issues section
Name | Link | Description |
---|---|---|
hopp-cli-bin | https://aur.archlinux.org/packages/hopp-cli-bin/ | Pre-built binary |
hopp-cli | https://aur.archlinux.org/packages/hopp-cli/ | Compiled from latest release |
hopp-cli-git | https://aur.archlinux.org/packages/hopp-cli-git/ | Compiled from latest commit |
Install by
brew install athul/tap/hopp-cli
You can download pre-built binaries from the Releases page.
Alternatively, you can install hopp-cli
via Scoop:
scoop install hopp-cli
Putting Simply: Just pass the URL to the request method
$ hopp-cli get <url>
$ hopp-cli post <url>
$ hopp-cli patch <url>
$ hopp-cli put <url>
$ hopp-cli delete <url>
Example for a POST request:
$ hopp-cli post https://reqres.in/api/users/2 -c js -b '{"name": "morp","job": "zion resident"}'
send
for testing multiple endpointsgen
for generating API docs from CollectionThis can be used to test multiple endpoints from the hoppscotch-collection.json
file.
The output will only be the
statuscode
Example:
$ hopp-cli send <PATH to hoppscotch-collection.json>
Sample output:
The gen
command generates the API documentation from hoppscotch-collection.json
file and serves it as a static page on port 1341
.
Example:
$ hopp-cli gen <PATH to hoppscotch-collection.json>
Sample Hosted site: https://hopp-docsify.surge.sh/
Powered by Doscify
Flags:
browser
or b
to toggle whether the browser should open automatically [Boolean]port
or p
for specifying the port where the server should listen to [Integer](optional)
-t
or --token
for a Bearer Token for Authentication-u
for the Username
in Basic Auth-p
for the password
in Basic Auth-c
or --ctype
for the Content Type
-b
or --body
for the Data Body, this can be of json, html or plain text based on the request.Enclose the body in Single Quotes(')
Content Types can be of
Short Code | Content Type |
---|---|
js |
application/json |
html |
text/html |
xml |
application/xml |
plain |
text/plain |
-H
or --header
may be specified multiple times to include headers with the request.Example:
$ hopp-cli get -H 'X-Api-Key: foobar' -H 'X-Api-Secret: super_secret' https://example.com/api/v1/accounts
In addition to -b
/--body
, you may provide a request body via stdin.
If you combine this method with the -b
flag, the body provided with -b
will be ignored.
Example with Pipes
$ echo '{"foo":"bar"}' | hopp-cli post -c js http://example.com
Example with Redirection
$ cat myrequest.json
{
"foo": "bar"
}
$ hopp-cli post -c js http://example.com <myrequest.json
In addition to providing request body via -b / --body
flag and stdin,
you can also use -e / --editor
flag which opens default text-editor in your system.
Example:
$ hopp-cli post https://reqres.in/api/users/2 -c js -e
It will preferrably open editor based on $EDITOR
environment variable.
For example:
If the environment variable is $EDITOR=code
it will open VSCode for request-body input. Else, it will use default editor value based on the OS.
OS | Default Editor |
---|---|
Linux | nano |
macOS | nano |
Windows | notepad |