lib/doorkeeper/oauth/authorization/uri_builder.rb
# frozen_string_literal: true require "rack/utils" module Doorkeeper module OAuth module Authorization class URIBuilder class << self def uri_with_query(url, parameters = {}) uri = URI.parse(url) original_query = Rack::Utils.parse_query(uri.query) uri.query = build_query(original_query.merge(parameters)) uri.to_s end def uri_with_fragment(url, parameters = {}) uri = URI.parse(url) uri.fragment = build_query(parameters) uri.to_s end private def build_query(parameters = {}) parameters.reject! { |_, value| value.blank? } Rack::Utils.build_query(parameters) end end end end end end