Newer
Older
httpcat / 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 -o ../httpcat
```

### 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.