2010-07-15 6 views
0

Я написал промежуточное программное обеспечение стойки для своих рельсов, которое делает что-то, основанное на том, если REQUEST_URI равно определенной строке.Есть ли что-то вроде request_uri от ActionController :: Запрос в Rails для Rack?

Однако я быстро обнаружил, что в моей среде разработки, использующей WEBrick, сервер размещает полный URL-адрес для REQUEST_URI. В моей производственной среде, которая находится на Heroku, она ведет себя так, как ожидалось.

Так что я не уверен, какое лучшее решение для этого. У Rails есть функция, называемая request_uri, которая обрабатывает это, но так как это происходит в промежуточном программном обеспечении моей стойки, я не думаю, что могу получить к ней доступ. Другое дело, что это, похоже, влияет на мою среду разработки, поэтому любое решение было бы лучше, если бы оно не закончило замедление производственной среды какой-либо заметной суммой.

ответ

0

Это то, что я придумал на основе регулярного выражения, найденного в request_uri

 env["REQUEST_URI"] = $1 if %r{^\w+\://[^/]+(/.*|$)$} =~ env["REQUEST_URI"]