Skip to main content

Command line interface for HTTP requests defined in yaml configuration file

Project description

ADZ

Command line interface for HTTP requests defined in yaml configuration file.

Install

pip install adz

Quick start

Having a yaml configuration file

endpoints:
  endpoint:
    request: GET https://httpbin.org/get
    headers:
      Content-Type: application/json

and running on command line

adz endpoint

will execute endpoint request defined in configuration file and print

GET https://httpbin.org/get
HTTP/1.1 200 OK
 • access-control-allow-credentials: true
 • access-control-allow-origin: *
 • content-encoding: gzip
 • content-type: application/json
 • date: Thu, 06 Jun 2019 06:06:06 GMT
 • referrer-policy: no-referrer-when-downgrade
 • server: nginx
 • x-content-type-options: nosniff
 • x-frame-options: DENY
 • x-xss-protection: 1; mode=block
 • content-length: 204
 • connection: keep-alive

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "application/json",
        "Host": "httpbin.org",
        "User-Agent": "python-httpx/0.7.1"
    },
    "url": "https://httpbin.org/get"
}

Configuration

For an example configuration look at docs/example.yml.

settings

  • colors: bool, default: true
    • control output print in colors
  • response: bool, default: true
    • control response body output
  • theme: str, default native
    • any theme name from here should work

variables

  • used to interpolate values in headers and urls
    • variable: abc applied on url: http://example.org/$variable results in http://example.org/abc
  • variable value starting with file:// is opened as file and loaded as string into variable

endpoints

  • description
  • method
    • http methods
  • url
  • request
    • method url e.g. get http://example.org
  • params
    • query string parameters
  • headers
  • json
    • json string
    • string starting with file:// is loaded as json file
  • data
    • json string
    • string starting with file:// is loaded as json file
  • cookies
  • files
    • path to a file: path/to/file.txt
    • file name and path: filename: path/to/file.txt

Configuration file

Expected configuration file names
  • adz.yaml or adz.yml
  • api.yaml or api.yml
  • rest.yaml or rest.yml
Expected locations
  • current location: .
  • user's home: ~/
  • .adz directory in user's home e.g. ~/.adz/

Configuration file path can also be set using environmental variable ADZ.

CLI

Run adz -h

commands

  • adz --config, adz -c

    • path to yaml configuration file
  • adz --details <endpoint>, adz -d <endpoint>

    • output details about endpoint from configuration file
  • adz --list, adz -l

    • list available endpoints in configuration file
  • adz --output, adz -o

    • output processed configuration file as json
  • adz --settings, adz -s

    • output settings in configuration file
  • adz --var name=value, adz -v name=value

    • set or override variables in configuration
  • adz --colors, adz --no-colors

    • control output print in colors
  • adz --response, adz --no-response

    • control response body output

License

ADZ is licensed under a three clause BSD License. Full license text can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adz-0.6.0.tar.gz (8.4 kB view hashes)

Uploaded Source

Built Distribution

adz-0.6.0-py2.py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page