class Grape::Router::Route
def apply(app)
def apply(app) @app = app self end
def convert_to_head_request!
def convert_to_head_request! @request_method = Rack::HEAD end
def exec(env)
def exec(env) @app.call(env) end
def initialize(method, origin, path, options)
def initialize(method, origin, path, options) @request_method = upcase_method(method) @pattern = Grape::Router::Pattern.new(origin, path, options) @match_function = options[:forward_match] ? FORWARD_MATCH_METHOD : NON_FORWARD_MATCH_METHOD super(options) end
def match?(input)
def match?(input) return false if input.blank? @match_function.call(input, pattern) end
def params(input = nil)
def params(input = nil) return params_without_input if input.blank? parsed = pattern.params(input) return {} unless parsed parsed.compact.symbolize_keys end
def params_without_input
def params_without_input @params_without_input ||= pattern.captures_default.merge(attributes.params) end
def upcase_method(method)
def upcase_method(method) method_s = method.to_s Grape::Http::Headers::SUPPORTED_METHODS.detect { |m| m.casecmp(method_s).zero? } || method_s.upcase end