Skip to content

TUI HTTP client based on the Jetbrain's http file spec

License

Notifications You must be signed in to change notification settings

9-Realms-Dev/muninn

Repository files navigation

Muninn

Muninn is a CLI & TUI HTTP client built in Go. Following the JetBrains .http file specification, you can organize and manage your HTTP requests in one or more files within your project, then use Git for version control.

Features

  • CLI and TUI interfaces for managing HTTP requests
  • Supports JetBrains .http file format
  • Version control friendly
  • Easy navigation through files and requests
  • Detailed response viewing

Installation

go install github.com/9-Realms-Dev/muninn@latest

Quick Start Guide

Once Muninn is installed, navigate to a directory containing .http files and run the muninn command to launch the TUI:

tui_view.png

In the TUI, you can navigate through files and requests, execute commands, and review response details. .http File Format Muninn uses the .http file format, a simple text file containing the requests you want to make:

.http File Format

The .http file format is a simple text file that contains the requests you want to make. The format is as follows:

### JSON Placer Todo
POST https://jsonplaceholder.typicode.com/todos
Accept: application/json
Content-Type: application/json

{
  "name": "john",
  "occupation": "something"
}

### JSON Placer GET Todo
GET https://jsonplaceholder.typicode.com/todos
Accept: application/json

Key components:

  • ### starts a new request and provides its name
  • METHOD URL specifies the method and URL
  • KEY: VALUE defines headers
  • BODY contains the request body (currently only JSON is supported)

CLI commands

Activate the TUI

To start the interactive TUI just run munnin

Global Controls

Bindings Action
tab Shift active pane to right
shift+tab Shift active pane to the left
q exit tui

Filepicker Controls

Bindings Action
h leave current directory
l go into directory
j cycle down the file list
k cycle up the file list
enter select file

Request List Controls

Bindings Action
j cycle down the request list
k cycle up the request list
enter sendd request

Send Command

Send one or more requests from the CLI:

muninn send -f examples/jsonplaceholder.http -r "JSON Placer GET Todo"

CLI Flags

Flag Required/Optional Description
-f Required Select the file to use
-r Optional Select a specific request. If omitted, all requests in the file will be executed in order.

Configuration

Configuration is on the roadmap for Muninn. Stay tuned for updates!

License

Muninn is licensed under the MIT License. See LICENSE for more information.