Skip to content
This repository has been archived by the owner on Oct 8, 2024. It is now read-only.

Commit

Permalink
Merge pull request #116 from PThorpe92/postman
Browse files Browse the repository at this point in the history
feat: implement postman collections importation
  • Loading branch information
PThorpe92 authored Apr 5, 2024
2 parents d901b36 + 6021402 commit 83a233a
Show file tree
Hide file tree
Showing 37 changed files with 1,403 additions and 1,318 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/target
.vs
testapi.txt
/postman
*.json
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "CuTE-tui" # crates.io/crates/CuTE is taken :(
version = "0.1.0"
name = "CuTE-tui" # crates.io/crates/CuTE is taken :(
version = "0.1.1"
authors = ["PThorpe92 <[email protected]>"]
description = "A (ratatui) TUI for HTTP requests with libcurl, recursive downloads with wget, command storage and API key management"
description = "A (ratatui) TUI for HTTP requests with request + API key management"
license = "GPL-3.0"
edition = "2021"
repository = "https://github.com/PThorpe92/CuTE"
Expand Down
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,33 @@

# TUI HTTP Client with API/Auth Key Management and Request History/Storage

#### This project is still in active development and although it is useable, there may still be bugs and significant changes are still needed to both refactor the codebase and add new features.
#### Collaboration is welcome and encouraged! There is lots of low hanging fruit 👍 and cool ideas for additional features.
> This project is still in active development and although it is useable, there may still be bugs and significant changes are still needed to both refactor the codebase and add new features.
### Collaboration is welcome and encouraged! There is lots of low hanging fruit 👍 and cool ideas for additional features.
![image](imgs/demo.gif)

Curl TUI Environment (CuTE). HTTP client/libcurl front-end in Rust, using the awesome [ratatui](https://github.com/ratatui-org/ratatui) library designed to simplify the process of making various types of HTTP requests, supporting various kinds of Authentication (powered by libcURL), recursive downloading of directories (powered by GNU Wget), and storage + management of your previous requests + API keys.
Curl TUI Environment (CuTE). HTTP client/libcurl front-end in Rust, using the awesome [ratatui](https://github.com/ratatui-org/ratatui) library designed to simplify the process of sending HTTP requests in the terminal, allowing you to store and manage your previous requests + API keys.

This tool is for when you don't need something as complex as Postman, but you also don't want to have to remember the syntax for `curl` (or `wget`) commands. You can make a few requests to your back-end for testing, set up with your API key and save the requests to be executed again later.
This is a tool for when your requests are not complex enough for something like Postman, but more complicated than you would want to use `curl` CLI, or if you just don't want to remember all those commands. You can make a few requests to your back-ends for testing, set up with your API key and save the requests to be executed again later.

**New**: We now support importing your `Postman` collections, so you can have easy access to your APIs without leaving the terminal. (note: `https://schema.getpostman.com/json/collection/v2.1.0/` is currently the only supported collection schema)

<img src="imgs/saved_request.png" class="img-rounded " align="center" />
<img src="imgs/api_keys.png" class="img-rounded " align="center" />

## Features

- **Interactive TUI Interface**: The application offers an intuitive TUI interface that makes it easy to construct and execute HTTP requests without leaving the terminal.
- **Interactive TUI Interface**: Intuitive TUI interface that makes it fast and easy to construct and execute HTTP requests without leaving the terminal.

- **Intuitive VIM keybindings:** Vim-like keybindings are _defaulted_. Support to change them will eventually make it into the config file.
(`h` or `b` is used to go back a page, `j` and `k` move the cursor up and down. `i` for insert mode while in an input box, `enter` to submit the form and `esc` to exit insert mode)

- **API Key Management**: Very simple sqlite based API key storage system. You can choose to save a Key from a request, or add/edit/delete/rename them.

- **Response Visualization**: Pretty-print JSON responses in a human-readable format within the TUI, or choose to write the response to a file after inspecting the response.
- **Postman Collections**: Import your postman collections to have easy access to your APIs without leaving the terminal.

- **Response Visualization**: Pretty-print JSON responses in a human-readable format within the TUI, then you can choose to write the response to a file after inspecting it. You an also copy the `curl` CLI command needed to make the same request to your clipboard.

- This application builds and runs on Linux **and** MacOS.
- This application builds and runs on Linux, Windows and MacOS.

## Why?

Expand Down
Binary file added imgs/api_keys.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/saved_request.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 83a233a

Please sign in to comment.