class HTTP::Response::Parser

def add(data)

def add(data)
  @parser << data
end

def finished?

def finished?
  @finished
end

def headers?

def headers?
  !!@headers
end

def http_version

def http_version
  @parser.http_version.join(".")
end

def initialize

def initialize
  @parser = HTTP::Parser.new(self)
  reset
end

def on_body(chunk)

def on_body(chunk)
  if @chunk
    @chunk << chunk
  else
    @chunk = chunk
  end
end

def on_headers_complete(headers)

def on_headers_complete(headers)
  @headers = headers
end

def on_message_complete

def on_message_complete
  @finished = true
end

def read(size)

def read(size)
  return if @chunk.nil?
  if @chunk.bytesize <= size
    chunk  = @chunk
    @chunk = nil
  else
    chunk = @chunk.byteslice(0, size)
    @chunk[0, size] = ""
  end
  chunk
end

def reset

def reset
  @parser.reset!
  @finished = false
  @headers  = nil
  @chunk    = nil
end

def status_code

def status_code
  @parser.status_code
end