NJS module string to lowercase

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


On 28 Aug 2016, at 11:48, Alexander Moskalenko <alexander.moskalenko at gmail.com> wrote:

> В spec для 1.10.1 RPM прописано -add-dynamic-module=njs-1c50334fbea6/nginx

Это версия как раз перед добавлением toLowerCase:

changeset:   100:b7442865d9fa
user:        Igor Sysoev <igor at sysoev.ru>
date:        Fri Apr 15 18:01:19 2016 +0300
summary:     String.toLowerCase().

changeset:   99:1c50334fbea6
user:        Igor Sysoev <igor at sysoev.ru>
date:        Thu Apr 14 18:23:09 2016 +0300
summary:     "new Date()" incorrectly returned always Jan 1, 1970.

В mainline 1.11.3 более современная.

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

> 2016-08-28 10:39 GMT+02:00 Roman Arutyunyan <arut at nginx.com>:
> Речь идет про версию njs, а не nginx.
> 
> On Sun, Aug 28, 2016 at 10:26:58AM +0200, Alexander Moskalenko wrote:
> > Игорь, можно подробнее про версию?
> > Сейчас стоит nginx version: nginx/1.10.1
> >
> > И где можно документацию смотреть?
> >
> > 2016-08-28 9:17 GMT+02:00 Igor Sysoev <igor at sysoev.ru>:
> >
> > > 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 ещё не было.


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


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