class Celluloid::EventSource::ResponseParser

Attributes

headers[R]

Public Class Methods

new() click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 14
def initialize
  @parser = Http::Parser.new(self)
  @headers = nil
  @chunk = ""
end

Public Instance Methods

chunk() click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 36
def chunk
  chunk = @chunk
  unless chunk.empty?
    @chunk = ""
  end

  chunk.to_s
end
headers?() click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 20
def headers?
  !!@headers
end
on_body(chunk) click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 32
def on_body(chunk)
  @chunk << chunk
end
on_headers_complete(headers) click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 28
def on_headers_complete(headers)
  @headers = canonical_headers(headers)
end
status() click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 24
def status
  @parser.status_code
end

Private Instance Methods

canonical_headers(headers) click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 47
def canonical_headers(headers)
  headers.each_with_object({}) do |(key, value), canonicalized_headers|
    name = canonicalize_header(key)
    canonicalized_headers[name] = value
  end
end
canonicalize_header(name) click to toggle source
# File lib/celluloid/eventsource/response_parser.rb, line 54
def canonicalize_header(name)
  name.gsub('_', '-').split("-").map(&:capitalize).join("-")
end