Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

πŸ₯¬ Apio

Minimalist HTTP file reader and runner for your terminal.

Apio is a lightweight and minimal TUI tool designed for developers who prefer defining HTTP requests in plain text files (such as .http or .rest files) rather than using heavy GUI clients.

There is similar tools, such as Posting and Noodle, but i tried to focus on just reading and executing http files because i dont actually want to build another TUI Postman. Apio lets you execute your HTTP files interactively inside a Terminal.

the image


Installation

Run ./build.sh to build the binary.
Run ./build.sh install to install it locally at ~/.local/bin/apio

Once done, run apio to start
Note: make sure there is at least one http file on the working directory you are executing the command.


Customization

A TOML config file will be generated in your config directory:

  • ~/.config/apio/config.toml.

You can customize some aspects of Apio, such as:

  • Sidebar positioning (left or right)
  • Enable/disable glyphs (Any nerd font is required to display icons)
  • Enable/disable borders
  • Colors.

Keybindings

Navigating and running requests in apio is straightforward:

Key Action
↓ / j Select the next request
↑ / k Select the previous request
Ctrl + k Scroll up the response pane
Ctrl + j Scroll down the response pane
Enter Execute the selected request
y Copy the response body to clipboard
c Clear the response (returns view to request details)
f Select a different HTTP/REST file (if multiple files exist)
h / ? Toggle help screen
q / Ctrl + C Quit apio

No need to reload manually anymore. It automatically reloads when you change the HTTP file.


Supported .http / .rest File Format

apio supports standard plain-text HTTP client syntax. For example:

### Global variables
@api = jsonplaceholder.typicode.com
@contentType = application/json
@username = twodigitss
### Average api endpoint
GET https://httpbin.org/status/201
Accept: application/json
### Composed with variables and set protocol
POST https://{{api}}/posts HTTP/3.0
Content-Type: {{contentType}}
Token: Bearer your-jwt-token-here
{
 "body": "sent from apio",
 "title": "apio test",
 "user": {{username}},
 "userId": 3,
}

More images

demo 2 demo 3 demo 4 demo 5


License

This project is licensed under the MIT License - see the LICENSE file for details.


Contributions, issues, and pull requests are highly welcome to help improve the parser and parser coverage!

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /