Branch: Tag:

2006-07-05

2006-07-05 16:30:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Added kludge for browsers with broken support for the Vary header (ie MSIE 6).

Rev: server/base_server/prototypes.pike:1.173

6:   #include <module.h>   #include <variables.h>   #include <module_constants.h> - constant cvs_version="$Id: prototypes.pike,v 1.172 2006/06/26 16:27:30 wellhard Exp $"; + constant cvs_version="$Id: prototypes.pike,v 1.173 2006/07/05 16:30:03 grubba Exp $";      #ifdef DAV_DEBUG   #define DAV_WERROR(X...) werror(X)
171:   static constant SimpleTextNode = Parser.XML.Tree.SimpleTextNode;   static constant SimpleElementNode = Parser.XML.Tree.SimpleElementNode;    + //! @appears DAVLock + //!   //! Container for information about an outstanding DAV lock. No field   //! except @[owner] may change after the object has been created since   //! filesystem modules might store this info persistently.
297:    }   }    + //! @appears Configuration   //! Configuration information for a site. -  + //! @seealso + //! @[configuration]   class Configuration   {    inherit BasicDefvar;
1949:       if (misc->vary) {    // Generate a vary header. -  -  if (misc->vary[0]) { +  if (!supports->vary) { +  // Broken support for vary. +  heads->Vary = "User-Agent"; +  // It expired a year ago. +  heads->Expires = Roxen->http_date(time(1)-31557600); +  } else if (misc->vary[0]) {    // Depends on non-headers.    heads->Vary = "*";    } else {
2057:    }   }    + //! @appears MultiStatusStatus   class MultiStatusStatus (int http_code, void|string message)   {    constant is_status = 1;
2099:   private SimpleElementNode ok_status_node =    SimpleElementNode("DAV:status", ([]))->add_child(SimpleTextNode("HTTP/1.1 200 OK"));    + //! @appears MultiStatusPropStat   class MultiStatusPropStat   {    constant is_prop_stat = 1;
2192:    }   }    + //! @appears MultiStatusNode   typedef MultiStatusStatus|MultiStatusPropStat MultiStatusNode;    -  + //! @appears MultiStatus   class MultiStatus   {    static mapping(string:MultiStatusNode) status_set = ([]);