A simple API testing CLI. Features:
- Minimizes typing through configurable defaults
- Pretty-prints and syntax highlights JSON responses
- Only the actual response body goes to stdout, all other messages goes to stderr, so you can pipe or redirect the response to files or other tools
I recommend installing with pipx:
pipx install wgt
Specify only the parts of the URL that isn't part of your defaults. The rest will be filled in from your defaults.
> wgt /data
Fetching http://localhost/data
{
"data": "Hello, world!"
}Defaults are changed through environment variables. Let's say you typically expose your APIs on port 8000,
you use the http protocol, and your endpoint is called data. You can set these defaults like this:
> export WGT_DEFAULT_PROTOCOL=http://
> export WGT_DEFAULT_PORT=:8000
> export WGT_DEFAULT_PATH=/data
> wgt
Fetching http://localhost:8000/data
[...]
> wgt ?foo=bar
Fetching http://localhost:8000/data?foo=bar
[...]The table below lists all environment variables and the defaults that will be used if the variable is not set.
| Variable | Default |
|---|---|
| WGT_DEFAULT_PROTOCOL | http:// |
| WGT_DEFAULT_HOST | localhost |
| WGT_DEFAULT_PORT | None, meaning it will be determined by the protocol (80 for http, 443 for https) |
| WGT_DEFAULT_PATH | / |
| WGT_DEFAULT_QUERY | None |
| WGT_DEFAULT_FRAGMENT | None |
To store the response in a file, you can use the > operator:
> wgt /data > data.jsonThe message Fetching http://localhost/data will be printed to stderr, and therefore not written to the file.