NJS module string to lowercase

Roman Arutyunyan arut на nginx.com
Вс Авг 28 17:37:38 UTC 2016


Александр,

Переменные в стриме появились в nginx 1.11.2.
Либо отключите стрим, либо собирайте с более новым nginx.

On Sun, Aug 28, 2016 at 07:30:40PM +0200, Alexander Moskalenko wrote:
> Игорь,
> 
> пытаюсь собрать 1.10.1 с версией NJS 0.1.1
> 
> получаю вот такие ошибки:
> 
> njs-0.1.1/nginx/ngx_stream_js_module.c:53:5: error: unknown type name
> 'ngx_stream_variable_value_t'
>      ngx_stream_variable_value_t *v, uintptr_t data);
>      ^
> Есть какая-то матрица совместимости?
> 
> 
> 2016-08-28 11:44 GMT+02:00 Alexander Moskalenko <
> alexander.moskalenko на gmail.com>:
> 
> > Спасибо
> >
> > 2016-08-28 11:21 GMT+02:00 Igor Sysoev <igor на sysoev.ru>:
> >
> >> On 28 Aug 2016, at 11:48, Alexander Moskalenko <
> >> alexander.moskalenko на gmail.com> wrote:
> >>
> >> В spec для 1.10.1 RPM прописано -add-dynamic-module=
> >> njs-1c50334fbea6/nginx
> >>
> >>
> >> Это версия как раз перед добавлением toLowerCase:
> >>
> >> changeset:   100:b7442865d9fa
> >> user:        Igor Sysoev <igor на sysoev.ru>
> >> date:        Fri Apr 15 18:01:19 2016 +0300
> >> summary:     String.toLowerCase().
> >>
> >> changeset:   99:1c50334fbea6
> >> user:        Igor Sysoev <igor на 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 на 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 на sysoev.ru>:
> >>> >
> >>> > > On 27 Aug 2016, at 21:04, Alexander Moskalenko <
> >>> > > alexander.moskalenko на 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 ещё не было.
> >>>
> >>
> >>
> >> _______________________________________________
> >> nginx-ru mailing list
> >> nginx-ru на nginx.org
> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >>
> >
> >

> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
Roman Arutyunyan



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