Roster is a modern HTTP client application for GNOME, similar to Postman, built with GTK 4 and libadwaita. Features: - Send HTTP requests (GET, POST, PUT, DELETE) - Configure custom headers with add/remove functionality - Request body editor for POST/PUT/DELETE requests - View response headers and bodies in separate tabs - Track request history with JSON persistence - Load previous requests from history with confirmation dialog - Beautiful GNOME-native UI with libadwaita components - HTTPie backend for reliable HTTP communication Technical implementation: - Python 3 with GTK 4 and libadwaita 1 - Meson build system with Flatpak support - Custom widgets (HeaderRow, HistoryItem) with GObject signals - Background threading for non-blocking HTTP requests - AdwTabView for modern tabbed interface - History persistence to ~/.config/roster/history.json - Comprehensive error handling and user feedback
39 lines
709 B
Markdown
39 lines
709 B
Markdown
# Roster
|
|
|
|
A modern HTTP client for GNOME, built with GTK 4 and libadwaita.
|
|
|
|
## Features
|
|
|
|
- Send HTTP requests (GET, POST, PUT, DELETE)
|
|
- Configure custom headers and request bodies
|
|
- View response headers and bodies
|
|
- Track request history with persistence
|
|
- Beautiful GNOME-native UI
|
|
|
|
## Dependencies
|
|
|
|
- GTK 4
|
|
- libadwaita 1
|
|
- Python 3
|
|
- HTTPie (http command)
|
|
|
|
## Building
|
|
|
|
```bash
|
|
meson setup builddir
|
|
meson compile -C builddir
|
|
sudo meson install -C builddir
|
|
```
|
|
|
|
## Usage
|
|
|
|
Roster uses HTTPie as the backend for making HTTP requests. Ensure HTTPie is installed:
|
|
|
|
```bash
|
|
pip install httpie
|
|
# or on Fedora
|
|
sudo dnf install httpie
|
|
```
|
|
|
|
Then run Roster from your application menu or with the `roster` command.
|