Как можно вручную создать объект запроса Apache? - PullRequest
5 голосов
/ 16 июня 2011

Есть ли хороший API, который позволил бы создать объект класса Apache?

Кажется, сам класс не имеет конструктора; и краткий обзор не был очень полезным. Я подозреваю, что это как-то делается через sublcass, например Apache::Request

В контексте я пытаюсь написать тест для модуля, который использует переменную $HTML::Embperl::req_rec Embperl (точнее, вызывает метод uri() для объекта, содержащегося в нем). При рассмотрении переменная содержит объект с ref($req_rec) eq 'Apache'.

ПРИМЕЧАНИЕ : Я специально спрашиваю о создании РЕАЛЬНОГО (хотя и не обязательно полностью функционального) объекта. НЕ насмехается над этим (что я, очевидно, легко могу сделать и, вероятно, все равно буду делать).

1 Ответ

2 голосов
/ 16 июня 2011

Я не верю, что вы можете создать Apache::Request объектов, точка.Цель состоит в том, чтобы они были созданы для вас во время выполнения mod_perl - они внутренне связаны со структурами в процессе Apache, которые невозможно создать из perl.

Если вы делаете только относительнопростые вещи с объектом, вы можете получить объект CGI, чтобы сделать ту же работу.Однако, если происходит что-то сложное, у нас, вероятно, мало альтернативы, кроме насмешек над объектом или тестирования в работающем экземпляре Apache.

...