A Wishbone input module to receive events over HTTP.
Project description
__ __ __ .--.--.--|__.-----| |--| |--.-----.-----.-----. | | | | |__ --| | _ | _ | | -__| |________|__|_____|__|__|_____|_____|__|__|_____| version 3.0.0 ======================================== wishbone_contrib.module.input.httpserver ======================================== Version: 3.0.0 Receive events over HTTP. ------------------------- **Receive events over HTTP.** An HTTP server mapping URL endpoints to queues to which events can be submitted. Mapping queues to endpoints:: Connecting queues to this module automatically maps them to the equivalent URL endpoint. The "/" endpoint is by default mapped to the <outbox> queue. Authentication and authorization behavior:: - The htpasswd and resource file content override any duplicate entries defined in ``resource`` and ``htpasswd``. - Htpasswd is evaluated first before token validation. - You cannot define htpasswd and token authentication on the same resource definition. - Loading multiple htpasswd and resource files is supported. The order of loading determines the priority. Htpasswd and resource file loading behavior:: - Events submitted to queue '_htpasswd' should have the event payload generated by wishbone.module.input.inotify. - Events submitted to queue '_resource' should have the event payload generated by wishbone.module.input.inotify. - Files are removed from cache using ``IN_DELETE_SELF`` events. - Files are loaded/updated to cache using ``WISHBONE_INIT`` and ``IN_CLOSE_WRITE`` events. Available meta data:: Each event has some meta associated stored in tmp.<instance_name> { "env": { "content_length": "288014336", "content_type": "application/x-www-form-urlencoded", "gateway_interface": "CGI/1.1", "http_accept": "*/*", "http_expect": "100-continue", "http_host": "localhost:19283", "http_user_agent": "curl/7.53.1", "path_info": "/outbox", "query_string": "one=1&two=2", "remote_addr": "127.0.0.1", "remote_port": "60924", "request_method": "POST", "script_name": "", "server_name": "localhost", "server_port": "19283", "server_protocol": "HTTP/1.1", "server_software": "gevent/1.2 Python/3.6", "wsgi.url_scheme": "http" }, "headers": { "accept": "*/*", "content-length": "288014336", "content-type": "application/x-www-form-urlencoded", "expect": "100-continue", "host": "localhost:19283", "user-agent": "curl/7.53.1" }, "params": { "one": "1", "two": "2" } } Parameters:: - address(str)("0.0.0.0") | The address to bind to. - port(int)(19283) | The port to bind to. - ssl_key(str)(None) | When SSL is required, the location of the ssl_key to use. - ssl_cert(str)(None) | When SSL is required, the location of the ssl_cert to use. - ssl_cacerts(str)(None) | When SSL is required, the location of the ca certs to use. - poolsize(int)(1000) | The connection pool size. - so_reuseport(bool)(False) | Enables socket option SO_REUSEPORT. | See https://lwn.net/Articles/542629/ | Required when running multiple Wishbone instances. - resource(dict)({".*": {"users:": [], "tokens": [], "response": "OK {{uuid}}"}}) | Contains all endpoint authorization related config. | The moment at least 1 user or token is defined the | queue/endpoint needs authentication. - htpasswd(dict)({}) | The htpasswd username and password data. Queues:: - outbox | Incoming events submitted to / - _resource | Triggers the resource file to be reloaded. | The event payload should contain the absolute filename to load - _htpasswd | Triggers the htpasswd file to be reloaded. | The event payload should contain the absolute filename to load - <queue_name> | Incoming events submitted to /<queue_name>
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
Close
Hashes for wishbone_input_httpserver-3.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 752dc9885b82e60c0faa5c24e64c296d3f79da11803c2476060ce12df976b339 |
|
MD5 | 5e66dc8a46f12c1cd766afdada5965f3 |
|
BLAKE2b-256 | ec1d9f5d8c94f2f7d94f10c40e353883d335732ac1bc776ba537c67438f5ad18 |