在Apache Output过滤器

时间:2015-07-06 14:49:48

标签: c apache perl http mod-deflate

我正在编写一个apache模块输出过滤器,需要使用几个内部响应头。这些响应标头由在后端运行的基于 perl 的应用程序设置。我在输出过滤器中使用的APR功能是:

apr_table_get(r->headers_out, "x-my-response-header");

然而,似乎发生的事情是,在我的输出过滤器中我没有看到上面的响应标头设置,直到第三或第四个桶旅 - 这很遗憾已经太晚了 - 我实际上需要使用x的值-my-response-header用于计算新的响应头,并在对浏览器的响应中设置

我以这种方式插入输出过滤器:

ap_hook_insert_filter(insertOutputFilterHook, NULL, NULL, APR_HOOK_FIRST);
ap_register_output_filter(myFiltersName, myOutputFilter, NULL, AP_FTYPE_CONTENT_SET);

我已验证的内容:

  • 我的浏览器上的HTTP响应中出现了仅内部标题(尚未取消设置)
  • 前两个桶旅的桶包含html页面文本

问题:

  • 为什么在第一次调用我的输出过滤器/第一个桶旅时,为什么不设置/可见内部响应标头的原因是什么?
  • 是否可以累积前几个桶旅,然后在内部唯一响应头的值已知时开始将它们刷出来?

0 个答案:

没有答案