Sha256: 3ed542e77218af18d02f445522d37fafd3e77d6874a5f3b61fe6b7166e329916

Contents?: true

Size: 569 Bytes

Versions: 2

Compression:

Stored size: 569 Bytes

Contents

module RedirectUri
  class Client
    def initialize(url)
      raise ArgumentError, "url must be a String (given #{url.class.name})" unless url.is_a?(String)

      @uri = Addressable::URI.parse(url)

      raise ArgumentError, 'url must be an absolute URI (e.g. https://example.com)' unless @uri.absolute?
    rescue Addressable::URI::InvalidURIError => error
      raise InvalidURIError, error
    end

    def endpoints
      @endpoints ||= Discover.new(response).endpoints
    end

    def response
      @response ||= Request.new(@uri).response
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
redirect-uri-0.2.1 lib/redirect_uri/client.rb
redirect-uri-0.2.0 lib/redirect_uri/client.rb