http://dev.jast.ru 


NAME

TblEdit::Request - библиотека для работы с веб-сервером через функционал CGI.pm


DESCRIPTION

Пакет инкапсулирует все методы, необходимые для работы приложения с веб-сервером. Методы транслируются в соответствующие методы CGI.pm

Кроме того, реализован механизм протоколирования по условию: Исходный код программ может иметь вызовы метода printLog, первым аргументов которого является одна из констант:

    LL_WROK   => 1; # агрументы SQL, изменивших данные БД
    LL_WRBAD  => 2; # аргументы SQL и ошибки неудачных попыток 
    LL_CMD    => 4; # вызовы методов
    LL_VAR    => 8; # значения важных переменных
    LL_DMP    => 16;# дампы разных структур

При создании объекта класса TblEdit::Request из %ENV считывается значение ключа LOG_LEVEL и в STDERR будут выводиться остальные аргументы тех вызовов printLog, у которых первый аргумент при бинарном AND с LOG_LEVEL возвращает 1. Таким образом, режим вывода всей информации имеет значение 31.

Пример использования:

  use TblEdit::Request qw(/^LL_/); # подключаем константы уровней отладки
  # пишем в лог, если включен уровень отладки "вызовы"
  $req->printLog(LL_CMD, __PACKAGE__,'::new (начало)');

Доступны следующие методы:

new(\%conf)
Конструктор класса. Хэш %conf содержит поле prefix - префикс переменных пакета в %ENV

Далее этот префикс всегда добавляется перед именем ключа при доступе к хэшу %ENV.

Впервые это делается тут же, для получения значения уровня отладки из $ENV{$prefix.'LOG_LEVEL'}

getConf(@keys)
Получить хеш, состоящий из значений перечисленных ключей в %ENV

uri
Аналог CGI::uri

param
Аналог CGI::param

print(@args)
Печать в STDOUT http заголовка и содержимого @args

printLog($level, @args)
В случае, если ($level & LOG_LEVEL) != 0, печать в STDERR содержимого @args


AUTHOR

Alexey Kovrizhkin <jean@jast.ru>


COPYRIGHT

Copyright (C) 2006 Alexey Kovrizhkin

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

$Id: Request.html,v 1.1 2006/06/29 19:12:18 aleko Exp $

 $Name: v1-07 $   (c) 2002-2006, Алексей А. Коврижкин
jean@jast.ru