Document root из handler-а

44 views
Skip to first unread message

Andrew

unread,
Feb 22, 2013, 9:07:13 AM2/22/13
to nxweb-ru
Hi!

Я что-то затупляю, не могу понять, как в handler получить переменную
document root.
Такое понятие вообще есть в nxweb? В sendfile вроде она не null. А в
моем handler-е
- пустая.

Yaroslav

unread,
Feb 22, 2013, 9:47:36 AM2/22/13
to nxwe...@googlegroups.com
Попробуйте conn->handler->dir


2013/2/22 Andrew <aje...@gmail.com>

--
Вы получили это сообщение, поскольку подписаны на группу nxweb-ru.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес nxweb-ru+u...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.



Yaroslav

unread,
Feb 22, 2013, 9:53:31 AM2/22/13
to nxwe...@googlegroups.com
Только не забудьте при конфигурации прописать ее для своего хандлера так же, как для sendfile:

NXWEB_HANDLER_SETUP(myhandler, "/my", &my_handler, .priority=200000, ... .dir="/my/doc/root");

NXWEB_SENDFILE_SETUP(sendfile1, 0, .priority=900000, ... .dir="/my/doc/root");

У каждого хандлера свои параметры. Для своего можете использовать .dir так же, как это делает sendfile.

И вообще document_root'ов может быть в конфиге несколько:

NXWEB_SENDFILE_SETUP(sendfile2, "/images", .priority=800000, ... .dir="/mnt/disk2/my/other/doc/root");

Какой параметр .dir прописывать в свой хандлер - вам решать.




2013/2/22 Yaroslav <yar...@gmail.com>

Andrew

unread,
Feb 22, 2013, 10:17:45 AM2/22/13
to nxweb-ru
Hello,

On 22 фев, 15:53, Yaroslav <yaro...@gmail.com> wrote:
> Только не забудьте при конфигурации прописать ее для своего хандлера так
> же, как для sendfile:
>
> NXWEB_HANDLER_SETUP(myhandler, "/my", &my_handler, .priority=200000, ...
> .dir="/my/doc/root");

Ага. Вот на это-то я не посмотрел.

> NXWEB_SENDFILE_SETUP(sendfile1, 0, .priority=900000, ...
> .dir="/my/doc/root");
>
> У каждого хандлера свои параметры. Для своего можете использовать .dir так
> же, как это делает sendfile.

А вот в sendfile прописан относительный путь www/root. Откуда он будет
отсчитываться
в этом случае?

> И вообще document_root'ов может быть в конфиге несколько:
>
> NXWEB_SENDFILE_SETUP(sendfile2, "/images", .priority=800000, ...
> .dir="/mnt/disk2/my/other/doc/root");
>
> Какой параметр .dir прописывать в свой хандлер - вам решать.

Понятно.
Все же отсутствие текстового конфига несколько сбивает меня с толку.

Yaroslav

unread,
Feb 22, 2013, 10:49:23 AM2/22/13
to nxwe...@googlegroups.com
2013/2/22 Andrew <aje...@gmail.com>
Hello,

On 22 фев, 15:53, Yaroslav <yaro...@gmail.com> wrote:
> Только не забудьте при конфигурации прописать ее для своего хандлера так
> же, как для sendfile:
>
> NXWEB_HANDLER_SETUP(myhandler, "/my", &my_handler, .priority=200000, ...
> .dir="/my/doc/root");

Ага. Вот на это-то я не посмотрел.

> NXWEB_SENDFILE_SETUP(sendfile1, 0, .priority=900000, ...
> .dir="/my/doc/root");
>
> У каждого хандлера свои параметры. Для своего можете использовать .dir так
> же, как это делает sendfile.

А вот в sendfile прописан относительный путь www/root. Откуда он будет
отсчитываться
в этом случае?

От рабочей директории (work_dir). По умолчанию это директория, которая была текущей в системе при запуске nxweb. Либо её можно принудительно указать в командной строке nxweb -w some_dir.
 

> И вообще document_root'ов может быть в конфиге несколько:
>
> NXWEB_SENDFILE_SETUP(sendfile2, "/images", .priority=800000, ...
> .dir="/mnt/disk2/my/other/doc/root");
>
> Какой параметр .dir прописывать в свой хандлер - вам решать.

Понятно.
Все же отсутствие текстового конфига несколько сбивает меня с толку.

Я уже подумывал о создании текстового конфига. Может быть сделаю.

Andrew

unread,
Feb 22, 2013, 10:52:40 AM2/22/13
to nxweb-ru
Hi,

> > On 22 фев, 15:53, Yaroslav <yaro...@gmail.com> wrote:
> > > Только не забудьте при конфигурации прописать ее для своего хандлера так
> > > же, как для sendfile:
>
> > > NXWEB_HANDLER_SETUP(myhandler, "/my", &my_handler, .priority=200000, ...
> > > .dir="/my/doc/root");
>
> > Ага. Вот на это-то я не посмотрел.
>
> > > NXWEB_SENDFILE_SETUP(sendfile1, 0, .priority=900000, ...
> > > .dir="/my/doc/root");
>
> > > У каждого хандлера свои параметры. Для своего можете использовать .dir
> > так
> > > же, как это делает sendfile.
>
> > А вот в sendfile прописан относительный путь www/root. Откуда он будет
> > отсчитываться
> > в этом случае?
>
> От рабочей директории (work_dir). По умолчанию это директория, которая была
> текущей в системе при запуске nxweb. Либо её можно принудительно указать в
> командной строке nxweb -w some_dir.

Спасибо, понятно.

> > Понятно.
> > Все же отсутствие текстового конфига несколько сбивает меня с толку.
>
> Я уже подумывал о создании текстового конфига. Может быть сделаю.

Угу, было бы неплохо. Не все ж пересобираться.
Хочется чуть больше свободы конфигуриррования не-программистом.

Reply all
Reply to author
Forward
0 new messages