costin      02/04/29 23:41:18

  Modified:    jk/native2/include jk_uriEnv.h
  Log:
  Reorganize the struct, add support for storing vhost and context settings.
  
  The mapping is now done in the same way as in tomcat: first vhost and
  context, then exact, prefix and suffix rules.
  
  We use a tree structure ( only 3 levels ) - other optimizations are
  possible but probably less effective.
  
  Revision  Changes    Path
  1.11      +48 -33    jakarta-tomcat-connectors/jk/native2/include/jk_uriEnv.h
  
  Index: jk_uriEnv.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_uriEnv.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- jk_uriEnv.h       29 Apr 2002 19:35:35 -0000      1.10
  +++ jk_uriEnv.h       30 Apr 2002 06:41:18 -0000      1.11
  @@ -118,50 +118,74 @@
       
       struct jk_workerEnv *workerEnv;
   
  -    struct jk_webapp *webapp;
  -    
  +    struct jk_uriMap *uriMap;
  +
       /* Generic name/value properties. Some workers may use it.
        */
       struct jk_map *properties;
   
  -    /* Original uri ( unparsed )
  +    /* -------------------- Properties extracted from the URI name ---------- */
  +    /** Full name */
  +    char *name;
  +    
  +    /* Virtual server handled - NULL means 'global' ( visible in all
  +     * virtual servers ). Part of the uri name.
  +     */
  +    char *virtual;
  +
  +    /* Original uri ( unparsed ). Part of the uri name.
        */
       char *uri;
   
  -    /** XXX todo.
  +    /* -------------------- Properties set using setAttribute ---------- */
  +    /** ContextPath. Set with 'context' attribute.
        */
  -    int status;
  +    char *contextPath;
  +    int ctxt_len;
       
  -    /** Servlet. No need to compute it again in tomcat
  +    /** ServletName. Set with 'servlet' attribute.
        */
       char *servlet;
       int servletId;
   
  +    /** Group, set with 'group' attribute. Defaults to 'lb'.
  +     */
  +    char *workerName; 
  +    struct jk_worker *worker;
  +
  +    /** Debug for that location. Set with 'debug'
  +     */
  +    int debug;
  +
  +    /** For MATCH_TYPE_HOST, the list of aliases for the virtual host.
  +     *  Set using (multi-value ) 'alias' attribute on vhost uris.
  +    */
  +    struct jk_map *aliases;
  +
  +    /* -------------------- Properties extracted from the uri, at init() 
-------------------- */
       /* Extracted suffix, for extension-based mathces */
       char *suffix;
  +    int suffix_len;
  +
  +    /* Prefix based mapping. Same a contextPath for MATCH_TYPE_CONTEXT
  +     */
       char *prefix;
  -    
       int prefix_len;
  -    int suffix_len;
   
       int match_type;
   
  -    int debug;
  -
  -    /** Worker associated with this uri
  -        Inherited by virtual host. Defaults to the first declared worker.
  -        ( if null == use default worker ).
  -    */
  -    struct jk_worker *worker;
  -    
  -    /** worker name - allow this to be set before the worker is defined.
  -     *  worker will be set on init.
  +    /** For MATCH_TYPE_HOST, the list of webapps in that host
        */
  -    char *workerName; 
  +    struct jk_map *webapps;
   
  -    /** You can fine-tune the logging level per location
  +    /** For MATCH_TYPE_CONTEXT, the list of local mappings
        */
  -    int logLevel;
  +    struct jk_map *exactMatch;
  +    struct jk_map *prefixMatch;
  +    struct jk_map *suffixMatch;
  +
  +    /* -------------------- Other properties -------------------- */
  +
   
       /** Different apps can have different loggers.
        */
  @@ -172,19 +196,10 @@
       int envvars_in_use;
       struct jk_map *envvars;
   
  -    /* Virtual server handled - NULL means 'global' ( visible in all
  -     * virtual servers ). This is the canonical name.
  -     */
  -    char *virtual;
  -    int virtualPort;
  -
  -    /** Uri we're monted on
  -     *  The 'id' is the index in the context table ( todo ), it
  -     *  reduce the ammount of trafic ( and string creation on java )
  +    /** XXX .
        */
  -    char *context;
  -    int ctxt_len;
  -    int contextId;
  +/*     int status; */
  +/*     int virtualPort; */
   
       /* -------------------- Methods -------------------- */
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to