LavinMQ::Shovel::HTTPDestination
Inherits LavinMQ::Shovel::Destination < Reference < Object
Constants
Log = LavinMQ::Log.for("shovel.http_destination")
MESSAGE_STATUSES = {::HTTP::Status::BAD_REQUEST, ::HTTP::Status::LENGTH_REQUIRED, ::HTTP::Status::PAYLOAD_TOO_LARGE, ::HTTP::Status::URI_TOO_LONG, ::HTTP::Status::UNSUPPORTED_MEDIA_TYPE, ::HTTP::Status::UNPROCESSABLE_ENTITY, ::HTTP::Status::REQUEST_HEADER_FIELDS_TOO_LARGE}
Statuses that describe the request rather than the endpoint. The body, Content-Type, uri_path and headers all come from the message, so these mean "this message is unacceptable" (Reject), not "the endpoint is unusable" (Abort).
TRANSIENT_STATUSES = {::HTTP::Status::REQUEST_TIMEOUT, ::HTTP::Status::TOO_MANY_REQUESTS}
Statuses that say "not right now" rather than "not this message".
Constructors
new(name : String, uri : URI, ack_mode : LavinMQ::Shovel::AckMode = DEFAULT_ACK_MODE, timeout : Time::Span = 30.seconds)
SourceClass methods
Parses the dest-timeout shovel parameter (seconds, int or float) into a
connect/read timeout, falling back to 30s when absent or non-positive.
Instance methods
push(msg) : Nil
Sourcestart
Sourcestarted?
Sourcestop
Sourcetimeout
Source