class SpiderGazelle::Spider::Http1::Callbacks
Attributes
connection[RW]
parser[R]
Public Class Methods
new()
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 11 def initialize @parser = ::HttpParser::Parser.new self @logger = Logger.instance end
Public Instance Methods
on_body(parser, data)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 57 def on_body(parser, data) @connection.parsing.body << data end
on_header_field(parser, header)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 29 def on_header_field(parser, header) req = @connection.parsing req.header.frozen? ? req.header = header : req.header << header end
on_header_value(parser, value)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 34 def on_header_value(parser, value) req = @connection.parsing if req.header.frozen? req.env[req.header] << value else header = req.header header.upcase! header.gsub!('-', '_') header.prepend('HTTP_') header.freeze if req.env[header] req.env[header] << ', ' req.env[header] << value else req.env[header] = String.new(value) end end end
on_headers_complete(parser)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 53 def on_headers_complete(parser) @connection.headers_complete end
on_message_begin(parser)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 21 def on_message_begin(parser) @connection.start_parsing end
on_message_complete(parser)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 61 def on_message_complete(parser) @connection.finished_parsing end
on_url(parser, url)
click to toggle source
# File lib/spider-gazelle/spider/http1.rb, line 25 def on_url(parser, url) @connection.parsing.url << url end