Sha256: 17fdf6d97b919b2d3b706089de0ab5d0b87afd8d4648c78869385d683505ccac

Contents?: true

Size: 881 Bytes

Versions: 6

Compression:

Stored size: 881 Bytes

Contents

require 'net/http'

module Fog
  module RiakCS
    module MultipartUtils
      class Headers
        include Net::HTTPHeader

        def initialize
          initialize_http_header({})
        end

        # Parse a single header line into its key and value
        # @param [String] chunk a single header line
        def self.parse(chunk)
          line = chunk.strip
          # thanks Net::HTTPResponse
          return [nil,nil] if chunk =~ /\AHTTP(?:\/(\d+\.\d+))?\s+(\d\d\d)\s*(.*)\z/in
          m = /\A([^:]+):\s*/.match(line)
          [m[1], m.post_match] rescue [nil, nil]
        end

        # Parses a header line and adds it to the header collection
        # @param [String] chunk a single header line
        def parse(chunk)
          key, value = self.class.parse(chunk)
          add_field(key, value) if key && value
        end
      end
    end
  end
end

Version data entries

6 entries across 4 versions & 3 rubygems

Version Path
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-riakcs-0.1.0/lib/fog/riakcs/multipart_utils/headers.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-riakcs-0.1.0/lib/fog/riakcs/multipart_utils/headers.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-riakcs-0.1.0/lib/fog/riakcs/multipart_utils/headers.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-riakcs-0.1.0/lib/fog/riakcs/multipart_utils/headers.rb
fog-riakcs-0.1.0 lib/fog/riakcs/multipart_utils/headers.rb
fog-riakcs-0.0.1 lib/fog/riakcs/multipart_utils/headers.rb