summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/http/httpd.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/trunk/modules/http/httpd.hpp')
-rw-r--r--sca-cpp/trunk/modules/http/httpd.hpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/sca-cpp/trunk/modules/http/httpd.hpp b/sca-cpp/trunk/modules/http/httpd.hpp
index 7c839c1306..af075a04e8 100644
--- a/sca-cpp/trunk/modules/http/httpd.hpp
+++ b/sca-cpp/trunk/modules/http/httpd.hpp
@@ -120,6 +120,22 @@ template<typename C> C& dirConf(const void* c) {
}
/**
+ * Returns a request-scoped module configuration.
+ */
+template<typename C> C& makeRequestConf(const request_rec* r, const module* mod) {
+ C* c = new (gc_new<C>(r->pool)) C(r->pool, r);
+ ap_set_module_config(r->request_config, mod, c);
+ return *c;
+}
+
+template<typename C> C& requestConf(const request_rec* r, const module* mod) {
+ C* c = (C*)ap_get_module_config(r->request_config, mod);
+ if (c == NULL)
+ return makeRequestConf<C>(r, mod);
+ return *c;
+}
+
+/**
* Return the host name for a server.
*/
const string hostName(const server_rec* s, const string& def = "localhost") {
@@ -425,17 +441,6 @@ const int reportStatus(const failable<int>& rc) {
}
/**
- * Construct a redirect URI.
- */
-const string redirectURI(const string& file, const string& pi) {
- return file + pi;
-}
-
-const string redirectURI(const string& file, const string& pi, const string& args) {
- return file + pi + "?" + args;
-}
-
-/**
* Convert a value to an HTTPD request struc
*/
request_rec* request(const value& v) {