Vumi HTTP API Transport

HTTP API Transport

class vumi.transports.api.api.HttpApiConfig(config_data, static=False)

Bases: vumi.transports.httprpc.httprpc.HttpRpcTransportConfig

HTTP API configuration.

Configuration options:

  • amqp_prefetch_count (int) – The number of messages fetched concurrently from each AMQP queue by each worker instance.
  • transport_name (str) – The name this transport instance will use to create its queues.
  • publish_status (bool) – Whether status messages should be published by the transport
  • web_path (str) – The path to listen for requests on.
  • web_port (int) – The port to listen for requests on, defaults to 0.
  • web_username (str) – The username to require callers to authenticate with. If None then no authentication is required. Currently only HTTP Basic authentication is supported.
  • web_password (str) – The password to go with web_username. Must be None if and only if web_username is None.
  • web_auth_domain (str) – The name of authentication domain.
  • health_path (str) – The path to listen for downstream health checks on (useful with HAProxy)
  • request_cleanup_interval (int) – How often should we actively look for old connections that should manually be timed out. Anything less than 1 disables the request cleanup meaning that all request objects will be kept in memory until the server is restarted, regardless if the remote side has dropped the connection or not. Defaults to 5 seconds.
  • request_timeout (int) – How long should we wait for the remote side generating the response for this synchronous operation to come back. Any connection that has waited longer than request_timeout seconds will manually be closed. Defaults to 4 minutes.
  • request_timeout_status_code (int) – What HTTP status code should be generated when a timeout occurs. Defaults to 504 Gateway Timeout.
  • request_timeout_body (str) – What HTTP body should be returned when a timeout occurs. Defaults to ‘’.
  • noisy (bool) – Defaults to False set to True to make this transport log verbosely.
  • validation_mode (str) – The mode to operate in. Can be ‘strict’ or ‘permissive’. If ‘strict’ then any parameter received that is not listed in EXPECTED_FIELDS nor in IGNORED_FIELDS will raise an error. If ‘permissive’ then no error is raised as long as all the EXPECTED_FIELDS are present.
  • response_time_down (float) – The maximum time allowed for a response before the service is considered down
  • response_time_degraded (float) – The maximum time allowed for a response before the service is considered degraded
  • reply_expected (bool) – True if a reply message is expected.
  • allowed_fields (list) – The list of fields a request is allowed to contain. Defaults to the DEFAULT_ALLOWED_FIELDS class attribute.
  • field_defaults (dict) – Default values for fields not sent by the client.
class vumi.transports.api.api.HttpApiTransport(options, config=None)

Bases: vumi.transports.httprpc.httprpc.HttpRpcTransport

Native HTTP API for getting messages into vumi.

NOTE: This has no security. Put it behind a firewall or something.

If reply_expected is True, the transport will wait for a reply message and will return the reply’s content as the HTTP response body. If False, the message_id of the dispatched incoming message will be returned.


alias of HttpApiConfig