The command name in your terminal is rh.
rh is a user-friendly, lightweight and performant command-line tool to request HTTP APis. You can debug, test and verify any HTTP APi with rh in a simple and efficient way. rh is focused on performance and stability. You don't need OpenSSL because rh is based on Rustls, a modern TLS library alternative to OpenSSL.
rh is a standalone application with no runtime or garbage collector, so it doesn't require Python or Java to be installed on your machine, for example. rh is based on Rust, which is a blazing fast and memory-efficient language.
The name rh stands for Rust HTTP.
You can use rh right now, and some new features are coming soon. New features will be based on user request (please file an issue to make suggestions/requests.)
- Simple syntax to be more intuitive
- Easy file download & upload
- JSON made simple for command-line
- JSON-friendly
- Headers made simple for command-line
- Self-signed SSL certificates
- Don't repeat yourself with aliases
- Package manager
- Multi URLs
- Better help & version (help & version)
- More to do
If you frequently execute the same requests, rh can save you time. An alias helps to change default values or create shortcuts. You can predefine what you like: it could be just the headers, or it could be everything.
For example, someone could create an alias mp1-status (that would stand for "my-project-1", for example). Let's say you want to execute the following command on a regular basis:
> rh http://local-dev-mp1/status -UHhc X-Custom-Header:My-app-UHhc to show the -URL and the method + to show the request -Headers + to show the response -headers + to show a -compact response
> rh alias @mp1-status http://local-dev-mp1/status -UHhc X-Custom-Header:My-appSo now, you can reuse this config:
> rh @mp1-statusWho doesn't like "Hello, World!":
> rh httpbin.org/getChange the method:
> rh HEAD https://httpbin.org/anythingLocalhost with a particular port:
> rh :9200You can POST data as JSON (it's the default format, see more about it):
> rh https://httpbin.org/anything X-App:Super1 item1=Hello item2=WorldYou can POST data using the URL encoded format:
> rh https://httpbin.org/anything key1=1 --formYou can POST raw data:
> rh https://httpbin.org/anything --raw=helloYou can download a file and save it:
> rh https://httpbin.org/image/jpeg > image.jpegrh is distributed under the terms of the MIT license. See LICENSE for details.
If you are interested in contributing to the rh project, please take a look at the contributing guide. If you'd like to request a feature or report a bug, please create a GitHub issue.
Thanks to everyone developing the third party libraries used in this project.