Есть ли что-то вроде request_uri из ActionController::Request в Rails для Rack?

Я написал промежуточное программное обеспечение стойки для своих рельсов, которое делает что-то на основе того, соответствует ли REQUEST_URI определенной строке.

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

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


person hadees    schedule 15.07.2010    source источник


Ответы (1)


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

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