如何手动创建Apache请求对象?

DVK*_*DVK 5 apache perl unit-testing mod-perl embperl

是否有一个好的API可以让某人创建一个Apache类的对象?

类本身似乎缺少构造函数; 和概要不是很有帮助.我怀疑它是通过sublcass以某种方式完成的,例如Apache::Request

上下文是我正在尝试为使用Embperl $HTML::Embperl::req_rec变量的模块编写测试(更具体地说,uri()在包含在其中的对象上调用该方法).经检查,变量包含一个对象ref($req_rec) eq 'Apache'.

注意:我特别询问构造REAL(虽然不一定是完全功能的)对象.不要嘲笑它(我显然很容易做到,而且最终可能最终会做).

小智 2

我不相信你能创造Apache::Request物体,就这样。目的是让 mod_perl 运行时为您创建它们——它们在内部绑定到 Apache 进程内的结构,而这些结构可能无法从 perl 创建。

如果您只对对象执行相对简单的操作,则可以让CGI对象执行相同的工作。但是,如果发生任何复杂的情况,除了模拟对象或在实时 Apache 实例中进行测试之外,可能没有其他选择。