Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 2.35 KB

File metadata and controls

76 lines (54 loc) · 2.35 KB

reqsh | Interactive HTTP shell

Platform Rust License Status PRs Welcome GitHub Stars

Interactive HTTP shell for API workflows. Send requests, manage headers & variables and rerun past commands from a terminal REPL.

Features

  • Interactive REPL with multi-line request editing
  • Send GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS requests (case-insensitive)
  • Multi-line request input with query params, headers, body and ### terminator
  • Persistent session state across restarts (~/.reqsh_state.json)
  • Variable interpolation with {{name}} syntax in paths, headers, query params and bodies
  • Global headers and variables (header, var)
  • Save, manage and run requests in-session (req)
  • Re-run the last executed request (req rerun)
  • Save the last response body to a file (req save-response <path>)
  • Command history with show, rerun and clear
  • Configurable request timeout
  • JSON response pretty-printing with colored output

Quick Start

Install

curl -fsSL https://reqsh.dev/install.sh | sh

Or via Homebrew:

brew tap hars-21/tap
brew install reqsh

Or via Cargo:

cargo install reqsh

You can also download a binary from the releases page or build from source.

Demo

demo.mp4

Usage

reqsh> base https://api.example.com
reqsh> GET /users
.....> ###

reqsh> POST /users
.....> Content-Type: application/json
.....>
.....> {"name": "john"}
.....> ###

For full documentation on commands, variables and usage see the docs.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md for guidelines.

License

MIT. See LICENSE for details.