rh: user-friendly command-line HTTP client
rh
is a user-friendly 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 a standalone application with no runtime or garbage collector, so it doesn't require Python or Java installed on your machine for example. rh
is based on Rust that is a blazing fast and memory-efficient language. The name rh
stands for Rust HTTP.
Getting started
Features
You can already use rh
, some features are not available yet. And new features will come based on your requests (please file an issue to do so).
- Simple syntax to be more intuitive
- Easy file download & upload
- JSON made simple for command-line
- JSON-friendly
- Headers made simple for command-line
- Don't repeat yourself with configurations
- Package manager
- More options with SSL
- Multi URLs
For now, the priority is:
- configurations
- package manager
- SSL options
Don't repeat yourself
This feature is in progress and not available yet.
If you're used to execute very often the same requests, you can save time. A config helps to change default values or create shortcuts. You can predefine what you like, it could be only the headers for example, or everything.
For example, someone could create a configuration mp1-status
(that would stand for "my-project-1" for example). Let's say you want to execute the following command very often:
> rh
-uHhc
to show the -u
RL and the method + to show the request -H
eaders + to show the response -h
eaders + to show a -c
ompact response
> rh
So now, you can reuse this config:
> rh
→ See more about configurations
Examples
Who doesn't like "Hello, World!":
> rh
Change the method:
> rh
Localhost with a particular port:
> rh
You can POST data as JSON (it's the default format, see more about it):
> rh
You can POST data using the URL encoded format:
> rh
You can POST raw data:
> rh
You can download a file and save it:
> rh
Benchmarks
Some benchmarks have been carried out. But before publishing anything they've been reviewed since the aim is to be accurate and not misleading.
License
rh
is distributed under the terms of the MIT license. See LICENSE for details.
Contributing
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 the people developing the third party libraries used in this project.