Method: ActionDispatch::Routing::RouteSet#recognize_path

Defined in:
actionpack/lib/action_dispatch/routing/route_set.rb

#recognize_path(path, environment = {}) ⇒ Object

[View source]

885
886
887
888
889
890
891
892
893
894
895
896
897
898
# File 'actionpack/lib/action_dispatch/routing/route_set.rb', line 885

def recognize_path(path, environment = {})
  method = (environment[:method] || "GET").to_s.upcase
  path = Journey::Router::Utils.normalize_path(path) unless path&.include?("://")
  extras = environment[:extras] || {}

  begin
    env = Rack::MockRequest.env_for(path, method: method)
  rescue URI::InvalidURIError => e
    raise ActionController::RoutingError, e.message
  end

  req = make_request(env)
  recognize_path_with_request(req, path, extras)
end