Sha256: 4360ef4df116bb3a3a9840aacd7abcaaec8954e0791268c9ca5c32ebb3ae995c

Contents?: true

Size: 720 Bytes

Versions: 16

Compression:

Stored size: 720 Bytes

Contents

module Rack
  module OAuth2
    class Server

      module Utils
        module_function

        # Parses the redirect URL, normalizes it and returns a URI object.
        #
        # Raises InvalidRequestError if not an absolute HTTP/S URL.
        def parse_redirect_uri(redirect_uri)
          uri = URI.parse(redirect_uri).normalize
          raise InvalidRequestError, "Redirect URL must be absolute URL" unless uri.absolute? && uri.host
          raise InvalidRequestError, "Redirect URL must point to HTTP/S location" unless uri.scheme == "http" || uri.scheme == "https"
          uri
        rescue
          raise InvalidRequestError, "Redirect URL looks fishy to me"
        end

      end

    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rack-oauth2-server-1.4.6 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.5 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.4 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.3 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.2 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.1 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.4.0 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.3.1 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.3.0 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.2.2 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.2.1 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.2.0 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.1.1 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.1.0 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.0.0 lib/rack/oauth2/server/utils.rb
rack-oauth2-server-1.0.beta lib/rack/oauth2/server/utils.rb