Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gchaincl/httplab

The interactive web server
https://github.com/gchaincl/httplab

cli developer-tools development golang http httplab inspector testing webserver

Last synced: about 2 months ago
JSON representation

The interactive web server

Awesome Lists containing this project

README

        

![HTTPLAB](https://github.com/gchaincl/httplab/blob/master/images/httplab_logo.png)

[![Build Status](https://travis-ci.org/gchaincl/httplab.svg?branch=master)](https://travis-ci.org/gchaincl/httplab) [![Go Report Card](https://goreportcard.com/badge/github.com/gchaincl/httplab)](https://goreportcard.com/report/gchaincl/httplab) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)

The interactive web server.

HTTPLabs let you inspect HTTP requests and forge responses.

---
![screencast](images/screencast.gif)

# Install
### Golang
```bash
go install github.com/gchaincl/httplab/cmd/httplab@latest
```

### Archlinux
```
yaourt httplab
```

### ~Snap~ [FIXME](https://github.com/gchaincl/httplab/issues/78)
On [systems](https://snapcraft.io/docs/core/install) where snap is supported:
```
snap install httplab
```

### Binary distribution
Each release provides pre-built binaries for different architectures, you can download them here: https://github.com/gchaincl/httplab/releases/latest

## Help
```
Usage of httplab:
-a, --auto-update Auto-updates response when fields change. (default true)
-b, --body string Specifies the inital response body. (default "Hello, World")
-c, --config string Specifies custom config path.
--cors Enable CORS.
--cors-display Display CORS requests. (default true)
-d, --delay int Specifies the initial response delay in ms.
-H, --headers strings Specifies the initial response headers. (default [X-Server:HTTPLab])
-p, --port int Specifies the port where HTTPLab will bind to. (default 10080)
-s, --status string Specifies the initial response status. (default "200")
-v, --version Prints current version.
```

### Key Bindings
Key | Description
----------------------------------------|---------------------------------------
Tab | Next Input
Shift+Tab | Previous Input
Ctrl+a | Apply Response changes
Ctrl+r | Resets Request history
Ctrl+s | Save Response as
Ctrl+f | Save Request as
Ctrl+l | Toggle Responses list
Ctrl+t | Toggle Response builder
Ctrl+o | Open Body file
Ctrl+b | Switch Body mode
Ctrl+h | Toggle Help
Ctrl+w | Toggle line wrapping
q | Close popup
PgUp | Previous Request
PgDown | Next Request
Ctrl+c | Quit

HTTPLab uses file to store pre-built responses, it will look for a file called `.httplab` on the current directory if not found it will fallback to `$HOME`.
A sample file can be found [here](https://github.com/gchaincl/httplab/blob/master/.httplab.sample).

_HTTPLab is heavily inspired by [wuzz](https://github.com/asciimoo/wuzz)_