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