# Functions

CustomUserAgentHandler returns a http request handler that sets a custom user agent to all aws requests.
DataKeys allows users to specify a list of keys in the record which they want to be sent all others are discarded.
DecodeMap prepares a record for JSON marshalling Any []byte will be base64 encoded when marshaled to JSON, so we must directly cast all []byte to string.
EncodeLogKey prepares a record to be sent when the log_key parameter is used.
GetBoolParam is used for boolean config setup.
LogKey returns the value associated with the input key from the record map, or an error if the key is not found.
NewTimeout returns a new timeout object with a duration set from the env var if the env var is not set, then a timer is returned that is disabled (it doesn't do anything).
SetupLogger sets up Logrus with the log level determined by the Fluent Bit Env Var.

# Structs

Timeout is a simple timeout for single-threaded programming (Goroutines are expensive in Cgo).