public Method

HTTPUtils.parse_header(raw)

There's no documentation for this item.

Source Code

# File webrick/httputils.rb, line 126
def parse_header(raw)
  header = Hash.new([].freeze)
  field = nil
  raw.each{|line|
    case line
    when /^([A-Za-z0-9!\#$%&'*+\-.^_`|~]+):\s*(.*?)\s*\z/om
      field, value = $1, $2
      field.downcase!
      header[field] = [] unless header.has_key?(field)
      header[field] << value
    when /^\s+(.*?)\s*\z/om
      value = $1
      unless field
        raise "bad header '#{line.inspect}'."
      end
      header[field][-1] << " " << value
    else
      raise "bad header '#{line.inspect}'."
    end
  }
  header.each{|key, values|
    values.each{|value|
      value.strip!
      value.gsub!(/\s+/, " ")
    }
  }
  header
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.