apache: update rewriteLogLevel for Apache 2.4
[hcoop/domtool2.git] / src / plugins / apache.sml
index 3a446f6..451cd67 100644 (file)
@@ -1,6 +1,6 @@
 (* HCoop Domtool (http://hcoop.sourceforge.net/)
  * Copyright (c) 2006-2009, Adam Chlipala
- * Copyright (c) 2013 Clinton Ebadi
+ * Copyright (c) 2013,2014,2015,2017,2018,2019 Clinton Ebadi
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -762,15 +762,20 @@ val () = Env.action_one "rewriteBase"
              write prefix;
              write "\"\n"))
 
+val _ = Env.type_one "mod_rewrite_trace_level"
+       Env.int
+       (fn n => n > 0 andalso n <= 8)
+
 val () = Env.action_one "rewriteLogLevel"
         ("level", Env.int)
-        (fn level =>
+        (fn 0 =>
             (checkRewrite ();
-             write "\tRewriteLog ";
-             write' (fn x => x);
-             write "/rewrite.log\n\tRewriteLogLevel ";
-             write (Int.toString level);
-             write "\n"))
+             write "\tLogLevel rewrite:warn\n")
+        | level =>
+          (checkRewrite ();
+           write "\tLogLevel rewrite:trace";
+           write (Int.toString level);
+           write "\n"))
 
 val () = Env.action_two "alias"
         ("from", Env.string, "to", Env.string)
@@ -887,6 +892,13 @@ val () = Env.action_one "directoryIndex"
              app (fn opt => (write " "; write opt)) opts;
              write "\n"))
 
+val () = Env.action_one "directorySlash"
+       ("enable", Env.bool)
+       (fn enable =>
+           (write "\tDirectorySlash ";
+            if enable then write "On" else write "Off";
+            write "\n"))
+
 val () = Env.action_one "serverAliasHost"
         ("host", Env.string)
         (fn host =>
@@ -1147,6 +1159,34 @@ val () = Env.action_two "setEnv"
                                                        | ch => str ch) value);
                              write "\"\n"))
 
+val () = Env.action_three "setEnvIf"
+        ("attribute", Env.string, "match", Env.string, "env_variables", Env.list Env.string)
+        (fn (attribute, match, envs) =>
+            case envs of
+                [] => (print "WARNING: Skipped setEnvIf, no environment variables provided.\n")
+             | envs =>
+               (write "\tSetEnvIf\t\"";
+                write attribute;
+                write "\"\t\"";
+                write match;
+                write "\"";
+                app (fn env => (write "\t"; write env)) envs;
+                write "\n"))
+
+val () = Env.action_three "setEnvIfNoCase"
+        ("attribute", Env.string, "match", Env.string, "env_variables", Env.list Env.string)
+        (fn (attribute, match, envs) =>
+            case envs of
+                [] => (print "WARNING: Skipped setEnvIfNoCase, no environment variables provided.\n")
+             | envs =>
+               (write "\tSetEnvIfNoCase\t\"";
+                write attribute;
+                write "\"\t\"";
+                write match;
+                write "\"";
+                app (fn env => (write "\t"; write env)) envs;
+                write "\n"))
+
 val () = Env.action_one "diskCache"
         ("path", Env.string)
         (fn path => (write "\tCacheEnable disk \"";