=encoding utf-8

=head1 НАЗВАНИЕ

POD2::RU::PSGI::Extensions - Расширения PSGI

=head1 Спецификация

PSGI окружение B<МОЖЕТ> включать следующие дополнительные расширения. Они
B<ОПЦИОНАЛЬНЫ> и приложениям и middleware B<СЛЕДУЕТ> проверять их наличие перед
использованием предоставляемого расширениями функционала.

=over 4

=item *

C<psgix.io>: IO-сокет, предоставляющий прямой доступ к клиентскому соединению
для выполнения низкоуровневых операций на сокете.
Доступен только когда PSGI серверы запущены как HTTP сервер, и должен
использоваться тогда (и только тогда) когда необходимо выйти за пределы PSGI
абстракций, для реализации протоколов поверх HTTP, например, BOSH или WebSocket.

=item *

C<psgix.input.buffered>: Булево значение, равное true, если тело HTTP запроса
(для POST или PUT запросов) буферизированно с использованием временного файла
или PerlIO в C<psgi.input>. Если значение установлено, приложение или
middleware компоненты могут безопасно выполнять C<read> на объекте
C<psgi.input>, не беспокоясь о неблокирующем I/O, а затем могут вызывать
C<seek> для "обратной перемотки" входных данных, чтобы обеспечить прозрачный
доступ.

=item *

C<psgix.logger>: Интерфейс (code reference) для отладочных сообщений. Этот
интерфейс принимает один аргумент в виде ссылки на хэш, содержащий сообщение,
которое необходимо добавить в лог. Эта ссылка на хэш B<ДОЛЖНА> включать по
меньшей мере два ключа: C<level> и C<message>, где C<level> B<ДОЛЖЕН> быть
одной из следующих строк: C<debug>, C<warn>, C<info>, C<error> или C<fatal>.
Параметру C<message> B<СЛЕДУЕТ> содержать простую строку или скалярную
переменную со строкой.

=item *

C<psgix.session>: Ссылка на хэш для сохранения и получения данных сессии.
Middleware-компонентам B<СЛЕДУЕТ> сохранять изменения этого хэша и
восстанавливать их при последующих запросах. Сохранение и восстановление
данных сессии, а так же идентификация запрашивающих клиентов зависит от
реализации.

C<psgix.session.options>: Ссылка на хэш, сообщающая middleware компонентам как
работать с данными сессии после запроса. Допустимые ключи и значения зависят от
реализации.

=item *

C<psgix.harakiri>: Булево значение, равное true если PSGI сервер поддерживает
режим харакири, который убивает рабочие процессы (обычно форкнутые процессы)
после выполнения запроса.

C<psgix.harakiri.commit>: Булево значение, устанавливаемое в true PSGI
приложением или middleware, для того, чтобы сервер закрыл рабочий процесс
после выполнения текущего запроса.

=back

=head1 COPYRIGHT AND LICENSE

Copyright Tatsuhiko Miyagawa, 2009-2011.

This document is licensed under the Creative Commons license by-sa.

=cut
