ben         97/01/04 07:10:19

  Modified:    src       http_config.c http_config.h http_request.c
                        mod_browser.c
  Log:
  Experimental Header Parse API.
  
  Revision  Changes    Path
  1.40      +4 -0      apache/src/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -C3 -r1.39 -r1.40
  *** http_config.c     1997/01/01 18:10:16     1.39
  --- http_config.c     1997/01/04 15:10:15     1.40
  ***************
  *** 292,297 ****
  --- 292,301 ----
       return run_method (r, XtOffsetOf (module, logger), 1);
    }
    
  + int header_parse (request_rec *r) {
  +     return run_method (r, XtOffsetOf (module, header_parser), 1);
  + }
  + 
    /* Auth stuff --- anything that defines one of these will presumably
     * want to define something for the other.  Note that check_auth is
     * separate from check_access to make catching some config errors easier.
  
  
  
  1.27      +3 -1      apache/src/http_config.h
  
  Index: http_config.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_config.h,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -C3 -r1.26 -r1.27
  *** http_config.h     1997/01/01 18:10:17     1.26
  --- http_config.h     1997/01/04 15:10:16     1.27
  ***************
  *** 216,221 ****
  --- 216,222 ----
        int (*type_checker)(request_rec *);
        int (*fixer_upper)(request_rec *);
        int (*logger)(request_rec *);
  +     int (*header_parser)(request_rec *);
    } module;
    
    /* Initializer for the first few module slots, which are only
  ***************
  *** 225,231 ****
     * handle it back-compatibly, or at least signal an error).
     */
    
  ! #define MODULE_MAGIC_NUMBER 19961211
    #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL
    
    /* Generic accessors for other modules to get at their own module-specific
  --- 226,232 ----
     * handle it back-compatibly, or at least signal an error).
     */
    
  ! #define MODULE_MAGIC_NUMBER 19970103
    #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL
    
    /* Generic accessors for other modules to get at their own module-specific
  ***************
  *** 291,295 ****
  --- 292,297 ----
    int run_fixups (request_rec *);     /* poke around for other metainfo, 
etc.... */
    int invoke_handler (request_rec *);     
    int log_transaction (request_rec *r);
  + int header_parse (request_rec *);
    
    #endif
  
  
  
  1.35      +5 -0      apache/src/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -C3 -r1.34 -r1.35
  *** http_request.c    1997/01/01 18:10:22     1.34
  --- http_request.c    1997/01/04 15:10:16     1.35
  ***************
  *** 867,872 ****
  --- 867,877 ----
            die (access_status, r);
        return;
        }       
  + 
  +     if ((access_status = header_parse (r))) {
  +         die (access_status, r);
  +     return;
  +     }
        
        switch (satisfies(r)) {
        case SATISFY_ALL:
  
  
  
  1.7       +3 -2      apache/src/mod_browser.c
  
  Index: mod_browser.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_browser.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** mod_browser.c     1997/01/01 18:10:29     1.6
  --- mod_browser.c     1997/01/04 15:10:17     1.7
  ***************
  *** 138,144 ****
    { NULL },
    };
    
  ! int fixup_browser_module(request_rec *r)
    {
        server_rec *s = r->server;
        browser_server_config_rec *sconf = get_module_config (s->module_config,
  --- 138,144 ----
    { NULL },
    };
    
  ! int parse_headers_browser_module(request_rec *r)
    {
        server_rec *s = r->server;
        browser_server_config_rec *sconf = get_module_config (s->module_config,
  ***************
  *** 182,187 ****
       NULL,                    /* check auth */
       NULL,                    /* check access */
       NULL,                    /* type_checker */
  !    fixup_browser_module,    /* fixups */
       NULL,                    /* logger */
    };
  --- 182,188 ----
       NULL,                    /* check auth */
       NULL,                    /* check access */
       NULL,                    /* type_checker */
  !    NULL,                    /* fixups */
       NULL,                    /* logger */
  +    parse_headers_browser_module,/* header parser */
    };
  
  
  

Reply via email to