В качестве альтернативы ... почему вам нужно использовать «<<», а не просто «+».
Может быть так, что << пытается добавить host_with_port в массив, содержащий строку протокола (т. Е. Он изменяет замороженную строку с именем «protocol» вместо простого добавления двух вместе) и то же самое со строкой request_uri в host_with_port. </p>
Просто используйте + для конкатенации, и они перестанут пытаться изменить строки и просто сложат их вместе, прежде чем пройти через u (), например:
current_uri = u(request.protocol + request.host_with_port + request.request_uri)