DEV Community

Cover image for Resto - A CLI app can send pretty HTTP & API requests with TUI.
abdfn
abdfn

Posted on • Edited on

Resto - A CLI app can send pretty HTTP & API requests with TUI.

Resto

GitHub logo abdfnx / resto

🔗 Send pretty HTTP & API requests with TUI.

A CLI app can send pretty HTTP & API requests with TUI.

demo

Installation

Using script

  • Shell


curl -fsSL https://git.io/resto | bash


Enter fullscreen mode Exit fullscreen mode
  • PowerShell


iwr -useb https://git.io/resto-win | iex


Enter fullscreen mode Exit fullscreen mode

then restart your powershell

Go package manager



go install github.com/abdfnx/resto@latest


Enter fullscreen mode Exit fullscreen mode

GitHub CLI



gh extension install abdfnx/gh-resto


Enter fullscreen mode Exit fullscreen mode

Via Docker



docker run -it restohq/resto <CMD>


Enter fullscreen mode Exit fullscreen mode

full container:



docker run -it restohq/resto-full


Enter fullscreen mode Exit fullscreen mode

Usage

  • Open Resto UI


resto


Enter fullscreen mode Exit fullscreen mode
  • Send a request to a URL


resto get https://api.github.com


Enter fullscreen mode Exit fullscreen mode
  • Send a request to a URL and use resto editor


resto post https://localhost:3000/v1/login --content-type json --editor


Enter fullscreen mode Exit fullscreen mode
  • Read Body from stdin


cat schema.graphql | resto post https://api.spacex.land/graphql --content-type graphql --body-stdin


Enter fullscreen mode Exit fullscreen mode
  • Use Authentecation with Basic Auth or Bearer Token


# Bearer Token
resto delete https://api.secman.dev/api/logins/13 --content-type json --token TOKEN

# Basic Auth
resto delete https://api.secman.dev/api/logins/13 --content-type json --username USERNAME --password PASSWORD


Enter fullscreen mode Exit fullscreen mode
  • Save response to a file


resto get http://localhost:3333/api/v1/hello --save response.json


Enter fullscreen mode Exit fullscreen mode
  • Install binary app from script URL and run it.


resto install https://yarnpkg.com/install.sh
resto i https://get.docker.com


Enter fullscreen mode Exit fullscreen mode
  • Send a request from Restofile


resto run

# from path
resto run --file ./examples/restofile/basic_request/Restofile


Enter fullscreen mode Exit fullscreen mode
  • Get the latest release/tag from repository ```bash

resto get-latest abdfnx/resto

use another registry

resto get-latest 23028539 --registry gitlab.com

with access token

resto get-latest spittet/node-postgresql --registry bitbucket.org --token YOUR-ACCESS-TOKEN


### Flags

1. `GET` & `HEAD` flags

Enter fullscreen mode Exit fullscreen mode

-H, --headers Just show the response headers
-j, --just-body Just show the response body
-p, --password string The password to use for basic authentication
-s, --save string Save the response body to a file
-t, --token string The bearer token to use for authentication
-u, --username string The username to use for basic authentication


2. `POST`, `PUT`, `PATCH`, `DELETE` flags

Enter fullscreen mode Exit fullscreen mode

-b, --body string The body of the request
-i, --body-stdin Read the body from stdin
-c, --content-type string The content type of the body
-e, --editor Open the editor to edit the body
-H, --headers Just show the response headers
-j, --just-body Just show the response body
-p, --password string The password to use for basic authentication
-s, --save string Save the response to a file
-t, --token string The bearer token to use for authentication
-u, --username string The username to use for basic authentication


3. `install` command flags

Enter fullscreen mode Exit fullscreen mode

-H, --hidden hide the output
-s, --shell string shell to use default: bash


4. `run` command flags

Enter fullscreen mode Exit fullscreen mode

-a, --all Show all response headers & status
-f, --file string Path to Restofile (Default: PATH/Restofile)


5. `get-latest` command flags

Enter fullscreen mode Exit fullscreen mode

-r, --registry string The registry to use
-t, --token string The access token to use it the registry requires authentication


### Shortcuts

- <kbd>Ctrl+P</kbd>: **Open Resto Panel**
- <kbd>Ctrl+H</kbd>: **Open Help Guide**
- <kbd>Ctrl+S</kbd>: **Save Request Body**
- <kbd>Ctrl+Q</kbd>: **Quit**

## Documentation

Refer to our [**Wiki**](https://github.com/abdfnx/resto/wiki) for the documentation.

> thank you for your time and don't forgot to star the repo if you like it

Enter fullscreen mode Exit fullscreen mode

Top comments (3)

Collapse
 
chandragie profile image
chandragie

Does the theming works? I tried and however catppuccin messed up with the request form fields. Want to change the theme but wiki does not provide anything

Some comments may only be visible to logged-in visitors. Sign in to view all comments.