caudium-commits AT caudium.net
Caudium CVS Commits list

CVS: caudium/server/modules/vhs vhs_dirparser.pike,1.4.2.7,1.4.2.8


chronological Thread 
  • From: Xavier Beaudouin <kiwi AT cvs.caudiumforge.net>
  • To: caudium-commits AT caudium.net
  • Subject: CVS: caudium/server/modules/vhs vhs_dirparser.pike,1.4.2.7,1.4.2.8
  • Date: Fri, 17 Dec 2004 16:01:15 +0100

Update of /cvs/caudium/caudium/server/modules/vhs
In directory cvs.caudiumforge.net:/tmp/cvs-serv31740/server/modules/vhs

Modified Files:
      Tag: stable_1_2
        vhs_dirparser.pike 
Log Message:
New feature "Index redirect files"


Index: vhs_dirparser.pike
===================================================================
RCS file: /cvs/caudium/caudium/server/modules/vhs/vhs_dirparser.pike,v
retrieving revision 1.4.2.7
retrieving revision 1.4.2.8
diff -u -r1.4.2.7 -r1.4.2.8
--- vhs_dirparser.pike  12 Nov 2004 10:00:56 -0000      1.4.2.7
+++ vhs_dirparser.pike  17 Dec 2004 15:01:12 -0000      1.4.2.8
@@ -18,7 +18,7 @@
  *
  */
 /*
- * $Id: vhs_dirparser.pike,v 1.4.2.7 2004/11/12 10:00:56 kiwi Exp $
+ * $Id: vhs_dirparser.pike,v 1.4.2.8 2004/12/17 15:01:12 kiwi Exp $
  */
 
 /*
@@ -38,9 +38,9 @@
 //! inherits: module
 //! inherits: caudiumlib
 //! type: MODULE_DIRECTORIES
-//! cvs_version: $Id: vhs_dirparser.pike,v 1.4.2.7 2004/11/12 10:00:56 kiwi 
Exp $
+//! cvs_version: $Id: vhs_dirparser.pike,v 1.4.2.8 2004/12/17 15:01:12 kiwi 
Exp $
 
-constant cvs_version = "$Id: vhs_dirparser.pike,v 1.4.2.7 2004/11/12 
10:00:56 kiwi Exp $";
+constant cvs_version = "$Id: vhs_dirparser.pike,v 1.4.2.8 2004/12/17 
15:01:12 kiwi Exp $";
 constant thread_safe = 1;   /* Probably. Check _root */
 
 #include <module.h>
@@ -210,6 +210,13 @@
         "If one of these files is present in a directory, it will "
         "be returned instead of the directory listing.");
 
+  defvar("indexredirectfiles", ({ }), "Index files with redirect", 
TYPE_STRING_LIST,
+         "If one of these files is present in a directory, it will be 
redirected into "
+         "this file instead of the directory listing. This can be usefull 
when you "
+         "have a L7 load balancer and you would like to handle special index 
files "
+         "with a third party webserver for example. Leave this empty if you 
don't "
+         "want to use this feature.");
+
   defvar("dotfiles", 0, "Show dotfiles", TYPE_FLAG|VAR_MORE,
          "If set, show dotfiles (files beginning with '.') in directory"
          " listings");
@@ -486,13 +493,31 @@
   old_file = id->not_query;
   if (old_file[-1] == '.') old_file = old_file[..strlen(old_file)-2];
 
-  foreach (query("indexfiles") - ({""}), file) // Make recursion impossible
+  foreach (QUERY(indexfiles) - ({""}), file) // Make recursion impossible
   {
     DW(sprintf("old_file = %s, file = %s", old_file, file));
 
     id->not_query = old_file + file;
 
     if (got = id->conf->low_get_file(id)) return got;
+  }
+
+  if(sizeof(QUERY(indexredirectfiles)))
+  {
+    foreach(QUERY(indexredirectfiles) - ({""}), file)
+    {
+      DW(sprintf("(redirect) old_file =  %s, file = %s", old_file, file));
+
+      id->not_query = old_file + file;
+    
+      if (got = id->conf->low_get_file(id))
+      {
+        if(id->query && sizeof(id->query))
+          return http_redirect(id->not_query + "?"+ id->query, id);
+        else
+          return http_redirect(id->not_query, id);
+      }
+    }
   }
 
   id->not_query = old_file;



  • CVS: caudium/server/modules/vhs vhs_dirparser.pike,1.4.2.7,1.4.2.8, Xavier Beaudouin

Archive powered by MhonArc 2.6.10.

§