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