class LogStash::Inputs::Websocket

Read events over the websocket protocol.

Public Instance Methods

register() click to toggle source
# File lib/logstash/inputs/websocket.rb, line 21
def register
  require "ftw"
end
run(output_queue) click to toggle source
# File lib/logstash/inputs/websocket.rb, line 26
def run(output_queue)
  agent = FTW::Agent.new
  begin
    websocket = agent.websocket!(@url)
    websocket.each do |payload|
      @codec.decode(payload) do |event|
        decorate(event)
        output_queue << event
      end
    end
  rescue => e
    @logger.warn("websocket input client threw exception, restarting",
                 :exception => e)
    sleep(1)
    retry
  end # begin
end