prequest

Submit a HTTP request to a web application.

This command makes an artifical request to a web application that uses a PasteDeploy (.ini) configuration file for the server and application.

Use "prequest config.ini /path" to request "/path".

Use "prequest --method=POST config.ini /path < data" to do a POST with the given request body.

Use "prequest --method=PUT config.ini /path < data" to do a PUT with the given request body.

Use "prequest --method=PATCH config.ini /path < data" to do a PATCH with the given request body.

Use "prequest --method=OPTIONS config.ini /path" to do an OPTIONS request.

Use "prequest --method=PROPFIND config.ini /path" to do a PROPFIND request.

If the path is relative (doesn't begin with "/") it is interpreted as relative to "/". The path passed to this script should be URL-quoted. The path can be succeeded with a query string (e.g. '/path?a=1&=b2').

The variable "environ['paste.command_request']" will be set to "True" in the request's WSGI environment, so your application can distinguish these calls from normal requests.

usage: prequest [-h] [-n NAME] [--header NAME:VALUE] [-d]
                    [-m {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}]
                    [-l LOGIN]
                    [config_uri] [path_info] [config_vars [config_vars ...]]
config_uri

The URI to the configuration file.

path_info

The path of the request.

config_vars

Variables required by the config file. For example, http_port=%(http_port)s would expect http_port=8080 to be passed here.

-h, --help

show this help message and exit

-n <name>, --app-name <name>

Load the named application from the config file (default 'main')

--header <name:value>

Header to add to request (you can use this option multiple times)

-d, --display-headers

Display status and headers before the response body

-m {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}, --method {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}

Request method type (GET, POST, PUT, PATCH, DELETE, PROPFIND, OPTIONS)

-l <login>, --login <login>

HTTP basic auth username:password pair