Metadata-Version: 1.1
Name: wishbone-input-httpserver
Version: 3.0.7
Summary: A Wishbone input module to receive events over HTTP.
Home-page: https://github.com/smetj/wishbone-input-httpserver
Author: Jelle Smet
Author-email: development@smetj.net
License: UNKNOWN
Download-URL: https://github.com/smetj/wishbone-input-httpserver/tarball/master
Description-Content-Type: UNKNOWN
Description: ::
                      __       __    __
            .--.--.--|__.-----|  |--|  |--.-----.-----.-----.
            |  |  |  |  |__ --|     |  _  |  _  |     |  -__|
            |________|__|_____|__|__|_____|_____|__|__|_____|
        
        
            ========================================
            wishbone_contrib.module.input.httpserver
            ========================================
        
            Version: 3.0.7
        
            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.
        
                    - destination(str)("data")
                       |  The event field to store incoming data.
        
                    - htpasswd(dict)({})
                        |  The htpasswd username and password data.
        
                    - native_events(bool)(False)
                       |  Whether to expect Wishbone native events or not.
        
                    - poolsize(int)(1000)
                        |  The connection pool size.
        
                    - port(int)(19283)
                       |  The port to bind to.
        
                    - resource(dict)({".*": {"users:": [], "tokens": [], "response": "200 OK. {{uuid}}", "urldecoded_field": null}})
                        |  Contains all endpoint authorization related config.
                        |  The moment at least 1 user or token is defined the
                        |  queue/endpoint needs authentication.
        
                    - so_reuseport(bool)(False)
                        |  Enables socket option SO_REUSEPORT.
                        |  See https://lwn.net/Articles/542629/
                        |  Required when running multiple Wishbone instances.
        
                    - ssl_cacerts(str)(None)
                        |  When SSL is required, the location of the ca certs to use.
        
                    - ssl_cert(str)(None)
                       |  When SSL is required, the location of the ssl_cert to use.
        
                    - ssl_key(str)(None)
                       |  When SSL is required, the location of the ssl_key to use.
        
                    - max_bytes(int)(16777216)
                        |  The maximum amount of bytes the client can send to the endpoint
                        |  when the expected content is application/x-www-form-urlencoded.
                        |  Keep in mind that the configured decoder also has a max number
                        |  of bytes defined.
        
                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>
        
        
Platform: Linux
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
