/hopp-cli

HTTP client like cURL / HTTPie and a CLI client for https://hoppscotch.io

Primary LanguageGoMIT LicenseMIT

Hoppscotch CLI hoppscotch Go Report Card

Send HTTP requests from terminal and Generate API Docs. An alternative to cURL, httpie ⚡️

Installation

From Script

$ sh -c "$(curl -sL https://git.io/getpwcli)"

From Source

  • Clone the repo
$ git clone https://github.com/hoppscotch/hopp-cli.git
  • Build and install
$ make

$ sudo make install

From Binary

  • You can find the Binaries in Gzipped form from the Releases page Supports
  • Linux(x64,x86)
  • Mac(x64)
  • Windows(x64,x86)

IMPORTANT: Not tested on Windows, please leave your feedback/bugs in the Issues section

Arch GNU/Linux

  • You can install from AUR
  • There are three different packages available
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

Homebrew

Install by brew install athul/tap/hopp-cli

Usages

Putting Simply: Just pass the URL to the request method

Basic Commands

  • GET : $ hopp-cli get <url>
  • POST: $ hopp-cli post <url>
  • PATCH: $ hopp-cli patch <url>
  • PUT : $ hopp-cli put <url>
  • DELETE: $ 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"}'

Extra Commands

  • send for testing multiple endpoints
  • gen for generating API docs from Collection

SEND: This 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:


GEN: 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]

There are 3 Authentication Flags

(optional)

  • -t or --token for a Bearer Token for Authentication
  • -u for the Username in Basic Auth
  • -p for the password in Basic Auth

There are 2 flags especially for the data management requests like POST,PUT,PATCH and DELETE

  • -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