mozilla

HTTP Listen InputΒΆ

New in version 0.5.

Plugin Name: HttpListenInput

HttpListenInput plugins start a webserver listening on the specified address and port. If no decoder is specified data in the request body will be populated as the message payload. Messages will be populated as follows:

  • Uuid: Type 4 (random) UUID generated by Heka.

  • Timestamp: Time HTTP request is handled.

  • Type: heka.httpdata.request

  • Hostname: The remote network address of requester.

  • Payload: Entire contents of the HTTP request body.

  • Severity: 6

  • Logger: HttpListenInput

  • Fields[“UserAgent”] (string): Request User-Agent header (e.g. “GitHub Hookshot dd0772a”).

  • Fields[“ContentType”] (string): Request Content-Type header (e.g. “application/x-www-form-urlencoded”).

  • Fields[“Protocol”] (string): HTTP protocol used for the request (e.g.

    “HTTP/1.0”)

New in version 0.6.

All query parameters are added as fields. For example, a request to “127.0.0.1:8325?user=bob” will create a field “user” with the value “bob”.

Config:

  • address (string):

    An IP address:port on which this plugin will expose a HTTP server. Defaults to “127.0.0.1:8325”.

New in version 0.7.

  • headers (subsection, optional):

    It is possible to inject arbitrary HTTP headers into each outgoing response by adding a TOML subsection entitled “headers” to you HttpOutput config section. All entries in the subsection must be a list of string values.

New in version 0.9.

  • request_headers ([]string):

    Add additional request headers as message fields. Defaults to empty list.

New in version 0.10.

  • auth_type (string, optional):

    If requiring Authentication specify “Basic” or “API” To use “API” you must set a header called “X-API-KEY” with the value of the “api_key” config.

  • username (string, optional):

    Username to check against if auth_type = “Basic”.

  • password (string, optional):

    Password to check against if auth_type = “Basic”.

  • api_key (string, optional):

    String to validate the “X-API-KEY” header against when using auth_type = “API”

  • use_tls (bool):

    Specifies whether or not SSL/TLS encryption should be used for the TCP connections. Defaults to false.

  • tls (TlsConfig):

    A sub-section that specifies the settings to be used for any SSL/TLS encryption. This will only have any impact if use_tls is set to true. See Configuring TLS.

Example:

[HttpListenInput]
address = "0.0.0.0:8325"

With Basic Auth:

[HttpListenInput]
address = "0.0.0.0:8325"
auth_type = "Basic"
username = "foo"
password = "bar"

With API Key Auth:

[HttpListenInput]
address = "0.0.0.0:8325"
auth_type = "API"
api_key = "1234567"