A netcat-like tool for analysing or mocking HTTP requests.

Mark George authored on 3 Jun 2021
src Add module 2 years ago
README.md Added cross-compiling instructions 2 years ago
README.md

httpcat

A netcat like tool for analysing/mocking HTTP requests (from both server and client perspective). My first experiment with Go.

Usage

    Usage:

      Client mode
         httpcat -client [options] http://uri-to-send-request-to.com

         Currently only supports GET requests.

      Server mode
         httpcat -server [options]

      Options (either mode)
         -entire or -e : Display entire request/response instead of just the body.
         -verbose or -v : Be verbose.

      Options (client mode only)
         -accept or -a [accept string] : Adds 'Accept' header to request.

      Options (server mode only)
         -body or -b [body message] : Body to respond with.  Response code will default to 200.
         -port or -p [port] : Port to listen on.
         -response or -r [response code] : Status code to respond with.  Defaults to 204.
         -cors or -c : Enable Cross Origin Resource Sharing support.
         -separator or -s [separator string] : Use the provided separator to separate messages.

Building

cd src
go build

Cross Compiling

Linux

GOOS=linux GOARCH=amd64 go build -o ../httpcat-linux

Windows

GOOS=windows GOARCH=amd64 go build -o ../httpcat-win64

Intel Mac

GOOS=darwin GOARCH=amd64 go build -o ../httpcat-mac-intel

M1/ARM64 Mac

GOOS=darwin GOARCH=arm64 go build -o ../httpcat-mac-arm64

To Do

Add support for DELETE, PUT, and POST requests in client mode.