class HttpParser::Parser

def self.new_instance(&block)


Returns a new request/response instance variable
def self.new_instance(&block)
    ::HttpParser::Instance.new(&block)
end

def initialize(callback_obj = nil)


Initializes the Parser instance.
def initialize(callback_obj = nil)
    @settings = ::HttpParser::Settings.new
    @callbacks = {} # so GC doesn't clean them up on java
    if not callback_obj.nil?
        CALLBACKS.each do |callback|
            self.__send__(callback, &callback_obj.method(callback)) if callback_obj.respond_to? callback
        end
    end
    yield self if block_given?
end

def on_body(&block)

Other tags:
    See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.5 -

Other tags:
    Yieldparam: body -
    Yieldparam: instance -

Other tags:
    Yield: -
def on_body(&block)
    cb = DataCallback.new(&block)
    @callbacks[:on_body] = cb
    @settings[:on_body] = cb
end

def on_chunk_complete(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_chunk_complete(&block)
    cb = Callback.new(&block)
    @callbacks[:on_message_complete] = cb
    @settings[:on_message_complete] = cb
end

def on_chunk_header(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_chunk_header(&block)
    cb = Callback.new(&block)
    @callbacks[:on_message_complete] = cb
    @settings[:on_message_complete] = cb
end

def on_header_field(&block)

Other tags:
    See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.5 -

Other tags:
    Yieldparam: field -
    Yieldparam: instance -

Other tags:
    Yield: -
def on_header_field(&block)
    cb = DataCallback.new(&block)
    @callbacks[:on_header_field] = cb
    @settings[:on_header_field] = cb
end

def on_header_value(&block)

Other tags:
    See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.5 -

Other tags:
    Yieldparam: value -
    Yieldparam: instance -

Other tags:
    Yield: -
def on_header_value(&block)
    cb = DataCallback.new(&block)
    @callbacks[:on_header_value] = cb
    @settings[:on_header_value] = cb
end

def on_headers_complete(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_headers_complete(&block)
    cb = Callback.new(&block)
    @callbacks[:on_headers_complete] = cb
    @settings[:on_headers_complete] = cb
end

def on_message_begin(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_message_begin(&block)
    cb = Callback.new(&block)
    @callbacks[:on_message_begin] = cb
    @settings[:on_message_begin] = cb
end

def on_message_complete(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_message_complete(&block)
    cb = Callback.new(&block)
    @callbacks[:on_message_complete] = cb
    @settings[:on_message_complete] = cb
end

def on_status(&block)

Other tags:
    Yieldparam: instance -

Other tags:
    Yield: -
def on_status(&block)
    cb = DataCallback.new(&block)
    @callbacks[:on_status] = cb
    @settings[:on_status] = cb
end

def on_url(&block)

Other tags:
    See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2 -

Other tags:
    Yieldparam: url -
    Yieldparam: instance -

Other tags:
    Yield: -
def on_url(&block)
    cb = DataCallback.new(&block)
    @callbacks[:on_url] = cb
    @settings[:on_url] = cb
end

def parse(inst, data)

Returns:
  • (Boolean) -

Parameters:
  • data (String) --
  • inst (HttpParser::Instance) --
def parse(inst, data)
    ::HttpParser.http_parser_execute(inst, @settings, data, data.length)
    return inst.error?
end