NJS module string to lowercase

Igor Sysoev igor на sysoev.ru
Вс Авг 28 07:17:08 UTC 2016


On 27 Aug 2016, at 21:04, Alexander Moskalenko <alexander.moskalenko at gmail.com> wrote:

> Приветствую!
> 
> Есть локейшн задача которого делать редирект с приведением uri к нижнему регистру.
> В данный момент используется LUA, который хотелось бы заменить на "родной" модуль.
> 
> LUA блок выглядит так:
> location ~ [A-Z] {
> 		rewrite_by_lua_block {
> 			return ngx.redirect((string.lower(ngx.var.uri)),301);
> 		}
> 	}
> 
> NJS блок:
> js_run "function f(req, res) {
> 			res.status = 301;
> 			res.headers.location = req.uri.toLowerCase();
> 			res.sendHeader();
> 			res.finish();
> 		}";
> 
> упорно получаю js exception: TypeError
> 
> Вопрос: что я делаю не так?
> typeof(req.uri) возвращает string
> т.к. документации толком нет пытаюсь использовать "родные" методы JS

Должно работать. Скорее всего, используется старая версия,
в которой toLowerCase ещё не было.


-- 
Join us at nginx.conf, Sept. 7-9, Austin, TX
Igor Sysoev
http://nginx.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160828/eed848de/attachment.html>


Подробная информация о списке рассылки nginx-ru