https://github.com/will8ug/restui
https://github.com/will8ug/restui
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/will8ug/restui
- Owner: will8ug
- Created: 2026-05-07T15:04:24.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-08T14:56:29.000Z (about 2 months ago)
- Last Synced: 2026-05-08T16:37:10.264Z (about 2 months ago)
- Language: Rust
- Size: 46.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# restui
[](https://github.com/will8ug/restui/actions/workflows/ci.yml)
[](https://github.com/will8ug/restui/actions/workflows/ci.yml)
A terminal UI REST client for `.http` request files.
## Features
- Parse REST Client-style `.http` files with multiple named requests
- Resolve `{{variables}}` in URLs, headers, and bodies
- Send requests from a keyboard-driven terminal interface
- Inspect formatted responses, headers, timing, and size metadata
- Reload request files without restarting the app
## Installation
```bash
cargo install --path .
```
## Usage
```bash
restui [--timeout ] [--no-verify]
```
## Keybindings
| Key | Action |
| --- | --- |
| ↑ / k | Move selection up / Scroll up |
| ↓ / j | Move selection down / Scroll down |
| Enter | Send selected request |
| Tab | Toggle focus between panes |
| d | Toggle request detail |
| r | Reload file from disk |
| ? | Toggle help |
| q / Ctrl+C | Quit |
## Example `.http` file
```http
@host = https://httpbin.org
@content_type = application/json
### Get request
GET {{host}}/get
Accept: {{content_type}}
### Post with JSON body
POST {{host}}/post
Content-Type: {{content_type}}
{
"name": "restui",
"version": "0.1.0"
}
```