Sha256: 3f891139c3a2876091ccad81163e6d4ef188aabeac79a8675037875de63ee85a

Contents?: true

Size: 765 Bytes

Versions: 12

Compression:

Stored size: 765 Bytes

Contents

module VCR
  module Normalizers
    module URI
      DEFAULT_PORTS = {
        'http'  => 80,
        'https' => 443
      }

      def initialize(*args)
        super
        normalize_uri
      end

      private

      def normalize_uri
        u = begin
          ::URI.parse(uri)
        rescue ::URI::InvalidURIError
          return
        end

        u.port ||= DEFAULT_PORTS[u.scheme]

        # URI#to_s only includes the port if it's not the default
        # but we want to always include it (since FakeWeb/WebMock
        # urls have always included it).  We force it to be included
        # here by redefining default_port so that URI#to_s will include it.
        def u.default_port; nil; end
        self.uri = u.to_s
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
vcr-1.11.3 lib/vcr/structs/normalizers/uri.rb
vcr-1.11.2 lib/vcr/structs/normalizers/uri.rb
vcr-1.11.1 lib/vcr/structs/normalizers/uri.rb
vcr-1.10.3 lib/vcr/structs/normalizers/uri.rb
vcr-1.10.2 lib/vcr/structs/normalizers/uri.rb
vcr-1.10.0 lib/vcr/structs/normalizers/uri.rb
vcr-1.9.0 lib/vcr/structs/normalizers/uri.rb
vcr-1.8.0 lib/vcr/structs/normalizers/uri.rb
vcr-1.7.2 lib/vcr/structs/normalizers/uri.rb
vcr-1.7.1 lib/vcr/structs/normalizers/uri.rb
vcr-1.7.0 lib/vcr/structs/normalizers/uri.rb
vcr-1.6.0 lib/vcr/structs/normalizers/uri.rb