Skip to main content

Console HTTP API tool

Project description

desman

Desman is console HTTP API requests tool. Desman uses .yml files to save request information. You can use enviroment files wich are also .yml files, to substitute variables to request.

Installation

Pip

pip install desman

How to use

Simple request

Create .yml file with request description:

method: get
url: http://host.com/

then pass file path to desman

desman path/to/file.yml

and desman prints the body of response to console.

Request with parameters

Query parameters can be passed in url

method: get
url: http://host.com/?param=value

or be passed separately

method: get
url: http://host.com/
params:
  param: value

Headers

Headers can be passed in headers field

method: get
url: http://host.com/
headers:
  Authorization: Bearer some-auth-token
params:
  param: value

Body

Body content can be passed in body field in request file

method: post
url: http://host.com/post
headers:
  Authorization: Bearer some-auth-token
body: |
  {
      "stringField": "JSON value",
      "nestedObject": {
          "nestedField": [1, 2, 3]
      }
  }

Output parameters

The output of HTTP response is controlled by these optional paramters:

  • -s print status of response
  • -H print heafers of response
  • -b print body of response

If none of these parameters are passed desman prints only body of response.

Using environments

All request files are Jinja2 templates.

# request.yml
method: post
url: http://{{server.host}}:{{server.port}}/post
headers:
  Authorization: Bearer {{my-token}}
body: |
  {
      "stringField": "JSON value",
      "nestedObject": {
          "nestedField": [1, 2, 3]
      }
  }

Variables are substituted from enviroment .yml files

# env.yml
server:
  host: host.com
  port: 8080
my-token: "some-auth-token"

which are passed in optional parameter -e

desman -e env.yml request.yml

You can use many enviroment files. If they have similar fields desman will use the last occurence of value.

With many enviroment files

# env.yml
server:
  host: host.com
  port: 8080
my-token: "some-auth-token"
# new-token.yml
my-token: "new-token"

if both passed as

desman -e env.yml -e new-token.yml request.yml

request will be performed with Authorization: Bearer new-token header.

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

desman-1.0.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

desman-1.0.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file desman-1.0.1.tar.gz.

File metadata

  • Download URL: desman-1.0.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.3

File hashes

Hashes for desman-1.0.1.tar.gz
Algorithm Hash digest
SHA256 90b71e47dcaccca28b01481bdc515314cc63ad0e092f7d800d4cbad312c647a1
MD5 f7a466a32780b3ae76ddaf50b2df9b28
BLAKE2b-256 b5ea460305e9652fc5c97a3c2c0d870d7db5c7e2b70fa3fb9ffcb843d8a56d49

See more details on using hashes here.

File details

Details for the file desman-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: desman-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.3

File hashes

Hashes for desman-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 173ac67799984e2fba14b00f1a60bb6a66e1236e5c88413f97f6b0783cc7f863
MD5 017bd4f7c833a155fed6e22c8fc854a7
BLAKE2b-256 748b9c83a7fc8cd866ce7f0485602195e88f2f439afbe63e9d53c680b09b1602

See more details on using hashes here.

Supported by

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