Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_example_hooks

Описание: Демонстрирует API модулей Apache
Статус: Экспериментальный
Идентификатор модуля: example_hooks_module
Исходный файл: mod_example_hooks.c

Краткое описание

Файлы в каталоге modules/examples в дереве каталогов дистрибутива Apache предоставлены в качестве примера для тех, кто хочет писать модули, использующие API Apache.

Основной файл — mod_example_hooks.c, который демонстрирует все различные механизмы обратного вызова и синтаксис вызовов. Разумеется, подключаемому модулю не нужно включать процедуры для всех обратных вызовов — скорее наоборот!

Пример модуля — это настоящий работающий модуль. Если вы подключите его к серверу, включите обработчик "example-hooks-handler" для некоторого расположения, а затем перейдёте к этому расположению, вы увидите отображение некоторых трассировочных данных, сформированных примером модуля при вызове различных обратных вызовов.

Компиляция модуля example_hooks

Чтобы включить модуль example_hooks в сервер, выполните следующие действия:

  1. Запустите configure с параметром --enable-example-hooks.
  2. Соберите сервер (выполните "make").

Чтобы добавить собственный модуль:

  1. cp modules/examples/mod_example_hooks.c modules/new_module/mod_myexample.c
  2. Измените файл.
  3. Создайте modules/new_module/config.m4.
    1. Добавьте APACHE_MODPATH_INIT(new_module).
    2. Скопируйте строку APACHE_MODULE с "example_hooks" из modules/examples/config.m4.
    3. Замените первый аргумент "example_hooks" на myexample.
    4. Замените второй аргумент кратким описанием своего модуля. Оно будет использоваться в configure --help.
    5. Если вашему модулю нужны дополнительные флаги компилятора C, флаги компоновщика или библиотеки, добавьте их соответственно в CFLAGS, LDFLAGS и LIBS. Примеры можно найти в других файлах config.m4 в каталоге modules.
    6. Добавьте APACHE_MODPATH_FINISH.
  4. Создайте module/new_module/Makefile.in. Если вашему модулю не нужны специальные инструкции по сборке, достаточно поместить в этот файл include $(top_srcdir)/build/special.mk.
  5. Выполните ./buildconf из каталога верхнего уровня.
  6. Соберите сервер с параметром --enable-myexample

Использование модуля mod_example_hooks

Чтобы активировать модуль example_hooks, добавьте в файл httpd.conf блок, подобный следующему:

<Location "/example-hooks-info">
   SetHandler example-hooks-handler
</Location>

В качестве альтернативы можно поместить следующий текст в файл .htaccess, а затем запросить файл "test.example" из этого расположения:

AddHandler example-hooks-handler ".example"

После перезагрузки или перезапуска сервера вы сможете перейти к этому расположению и увидеть упомянутое ранее краткое отображение.

Директива Example

Описание: Демонстрационная директива для иллюстрации API модулей Apache
Синтаксис: Example
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Статус: Экспериментальный
Модуль: mod_example_hooks

Директива Example просто устанавливает демонстрационный флаг, который отображает обработчик содержимого примера модуля. Она не принимает аргументов. Если перейти по URL, к которому применяется обработчик содержимого example-hooks, отобразятся процедуры модуля, а также сведения о том, как и в каком порядке они вызывались для обработки запроса документа. Действие этой директивы можно увидеть в разделе "Example directive declared here: YES/NO".

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_example_hooks.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API