@pb33f/wiretap
v0.7.2
Published
The world's coolest OpenAPI contract compliance API Proxy testing tool.
Readme
wiretap

A local and pipeline based tool to sniff API request and responses from clients and servers to detect OpenAPI contract violations and compliance.
A shift left tool, for those who want to know if their applications are actually compliant with an API.
This is an early tool and in active development, Why not try it out and give us some feedback?

Read the quickstart guide
Install wiretap for your platform
Installing using homebrew
The easiest way to install wiretap is to use homebrew if you're on OSX or Linux.
We have our own tap available that gives the latest and greatest version.
brew install pb33f/taps/wiretapInstalling using npm
Building a JavaScript / TypeScript application? No problem, grab your copy of wiretap using
npm.
npm install -g @pb33f/wiretapInstalling using cURL
Do you want to use wiretap in a linux only or CI/CD pipeline or workflow? Or you don't want to/can't use
a package manager like brew?
No problem. Use cURL to download and run our installer script.
curl -fsSL https://pb33f.io/wiretap/install.sh | shInstalling/running using Docker
Love containers? Don't want to install anything? No problem, use our Docker image.
docker pull pb33f/wiretapdocker run -p 9090:9090 -p 9091:9091 -p 9092:9092 --rm -v \
$PWD:/work:rw pb33f/wiretap -u https://somehostoutthere.comWe enable the following default ports 9090, 9091, and 9092 for the daemon, monitor, and websockets used
by ranch respectively.
Installing on Windows
To grab your copy of wiretap for Windows, you can pull it from the
latest releases on github
and download the Windows version for your CPU type.
Running wiretap
To get up and running with the absolute defaults (which is to sniff all traffic on port 9090)
and proxy to https://api.pb33f.com you can run the following command.
wiretap -u https://api.pb33f.comAdding an OpenAPI contract
wiretap -u https://api.pb33f.com -s my-openapi-spec.yamlMulti-spec mode
Got more than one OpenAPI contract? Hand wiretap a list, or point it at a directory and let it discover them.
wiretap -u https://api.pb33f.com --specs ./users.yaml,./orders.yaml,./billing.yamlwiretap -u https://api.pb33f.com --spec-dir ./contractswiretap routes each request to the spec that owns it, and reports any duplicate or ambiguous routes across your contracts at startup.
Use --dry-run to discover, analyze, and print the conflict report without starting the proxy. Exits non-zero on conflicts or load errors — perfect for CI.
wiretap --spec-dir ./contracts --dry-runFull details: Multi-spec mode.
