{"id":13474891,"url":"https://github.com/twigly/rust-http-cli","last_synced_at":"2025-03-26T22:31:29.423Z","repository":{"id":45460225,"uuid":"455297849","full_name":"twigly/rust-http-cli","owner":"twigly","description":"rh is a user-friendly command-line tool to request HTTP APis","archived":false,"fork":false,"pushed_at":"2022-02-27T20:40:06.000Z","size":401,"stargazers_count":74,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-30T08:50:59.455Z","etag":null,"topics":["api","api-client","api-rest","cli","development","devops","http","http-client","json","rest","rust","terminal","tool"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twigly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-03T19:20:30.000Z","updated_at":"2024-10-21T11:37:17.000Z","dependencies_parsed_at":"2022-07-14T14:00:30.672Z","dependency_job_id":null,"html_url":"https://github.com/twigly/rust-http-cli","commit_stats":null,"previous_names":["twigly/rh"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twigly%2Frust-http-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twigly%2Frust-http-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twigly%2Frust-http-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twigly%2Frust-http-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twigly","download_url":"https://codeload.github.com/twigly/rust-http-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245747779,"owners_count":20665863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","api-rest","cli","development","devops","http","http-client","json","rest","rust","terminal","tool"],"created_at":"2024-07-31T16:01:15.725Z","updated_at":"2025-03-26T22:31:27.079Z","avatar_url":"https://github.com/twigly.png","language":"Rust","readme":"[![CI](https://github.com/twigly/rh/actions/workflows/ci.yml/badge.svg)](https://github.com/twigly/rh/actions/workflows/ci.yml)\n[![CD](https://github.com/twigly/rh/actions/workflows/cd.yml/badge.svg)](https://github.com/twigly/rh/actions/workflows/cd.yml)\n\n# Rust HTTP Cli\n\nThe command name in your terminal is ```rh```.\n\n# rh: user-friendly command-line HTTP client\n\n```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.\n\n```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,](https://www.rust-lang.org) which is a blazing fast and memory-efficient language.\n\nThe name ```rh``` stands for Rust HTTP.\n\n\u003cimg width=\"600\" src=\"doc/rh-screencast.svg\"\u003e\n\n# Getting started\n\n→ [Installation guide](doc/install.md)\n\n→ [Contributing guide](doc/contributing.md)\n\n# Features\n\nYou can use ```rh``` right now, and some new features are coming soon. New features will be based on user request (please [file an issue](https://github.com/twigly/rh/issues) to make suggestions/requests.)\n\n- [X] Simple syntax to be more intuitive\n- [X] Easy file download \u0026 upload\n- [X] JSON made simple for command-line\n- [X] JSON-friendly\n- [X] Headers made simple for command-line\n- [X] Self-signed SSL certificates\n- [X] Don't repeat yourself with [aliases](doc/alias.md)\n- [ ] Package manager\n- [ ] Multi URLs\n- [ ] Better help \u0026 version ([help \u0026 version](doc/help-and-version.md))\n- More [to do](doc/todo.md)\n\n\n# Don't repeat yourself\n\nIf 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.\n\nFor 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:\n\n```bash\n\u003e rh http://local-dev-mp1/status -UHhc X-Custom-Header:My-app\n```\n\n```-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\n\n```bash\n\u003e rh alias @mp1-status http://local-dev-mp1/status -UHhc X-Custom-Header:My-app\n```\n\nSo now, you can reuse this config:\n\n```bash\n\u003e rh @mp1-status\n```\n\n→ [See more about aliases](doc/alias.md)\n\n# Examples\n\nWho doesn't like \"Hello, World!\":\n\n```bash\n\u003e rh httpbin.org/get\n```\n\nChange the method:\n\n```bash\n\u003e rh HEAD https://httpbin.org/anything\n```\n\nLocalhost with a particular port:\n\n```bash\n\u003e rh :9200\n```\n\nYou can POST data as JSON (it's the default format, see [more about it](doc/json.md)):\n\n```bash\n\u003e rh https://httpbin.org/anything X-App:Super1 item1=Hello item2=World\n```\n\nYou can POST data using the URL encoded format:\n\n```bash\n\u003e rh https://httpbin.org/anything key1=1 --form\n```\n\nYou can POST raw data:\n\n```bash\n\u003e rh https://httpbin.org/anything --raw=hello\n```\n\nYou can download a file and save it:\n\n```bash\n\u003e rh https://httpbin.org/image/jpeg \u003e image.jpeg\n```\n\n→ [More examples](doc/examples.md)\n\n# License\n\n```rh``` is distributed under the terms of the MIT license. See [LICENSE](/LICENSE) for details.\n\n# Contributing\n\nIf you are interested in contributing to the ```rh``` project, please take a look at the [contributing guide](doc/contributing.md). If you'd like to request a feature or report a bug, please create a [GitHub issue](https://github.com/twigly/rh/issues).\n\nThanks to everyone developing the third party libraries used in this project.\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwigly%2Frust-http-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwigly%2Frust-http-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwigly%2Frust-http-cli/lists"}