roster/README.md
Pavel Baksy cbc1972797 Initial commit: Roster HTTP client for GNOME
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
2025-12-18 11:05:33 +01:00

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.