Annotation of win32/apache13/src/include/http_request.h, revision 1.1.1.1

1.1       parser      1: /* ====================================================================
                      2:  * Copyright (c) 1995-1999 The Apache Group.  All rights reserved.
                      3:  *
                      4:  * Redistribution and use in source and binary forms, with or without
                      5:  * modification, are permitted provided that the following conditions
                      6:  * are met:
                      7:  *
                      8:  * 1. Redistributions of source code must retain the above copyright
                      9:  *    notice, this list of conditions and the following disclaimer.
                     10:  *
                     11:  * 2. Redistributions in binary form must reproduce the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer in
                     13:  *    the documentation and/or other materials provided with the
                     14:  *    distribution.
                     15:  *
                     16:  * 3. All advertising materials mentioning features or use of this
                     17:  *    software must display the following acknowledgment:
                     18:  *    "This product includes software developed by the Apache Group
                     19:  *    for use in the Apache HTTP server project (http://www.apache.org/)."
                     20:  *
                     21:  * 4. The names "Apache Server" and "Apache Group" must not be used to
                     22:  *    endorse or promote products derived from this software without
                     23:  *    prior written permission. For written permission, please contact
                     24:  *    apache@apache.org.
                     25:  *
                     26:  * 5. Products derived from this software may not be called "Apache"
                     27:  *    nor may "Apache" appear in their names without prior written
                     28:  *    permission of the Apache Group.
                     29:  *
                     30:  * 6. Redistributions of any form whatsoever must retain the following
                     31:  *    acknowledgment:
                     32:  *    "This product includes software developed by the Apache Group
                     33:  *    for use in the Apache HTTP server project (http://www.apache.org/)."
                     34:  *
                     35:  * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
                     36:  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     37:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     38:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
                     39:  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
                     40:  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     41:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
                     42:  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     43:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
                     44:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     45:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
                     46:  * OF THE POSSIBILITY OF SUCH DAMAGE.
                     47:  * ====================================================================
                     48:  *
                     49:  * This software consists of voluntary contributions made by many
                     50:  * individuals on behalf of the Apache Group and was originally based
                     51:  * on public domain software written at the National Center for
                     52:  * Supercomputing Applications, University of Illinois, Urbana-Champaign.
                     53:  * For more information on the Apache Group and the Apache HTTP server
                     54:  * project, please see <http://www.apache.org/>.
                     55:  *
                     56:  */
                     57: 
                     58: #ifndef APACHE_HTTP_REQUEST_H
                     59: #define APACHE_HTTP_REQUEST_H
                     60: 
                     61: #ifdef __cplusplus
                     62: extern "C" {
                     63: #endif
                     64: 
                     65: /* http_request.c is the code which handles the main line of request
                     66:  * processing, once a request has been read in (finding the right per-
                     67:  * directory configuration, building it if necessary, and calling all
                     68:  * the module dispatch functions in the right order).
                     69:  *
                     70:  * The pieces here which are public to the modules, allow them to learn
                     71:  * how the server would handle some other file or URI, or perhaps even
                     72:  * direct the server to serve that other file instead of the one the
                     73:  * client requested directly.
                     74:  *
                     75:  * There are two ways to do that.  The first is the sub_request mechanism,
                     76:  * which handles looking up files and URIs as adjuncts to some other
                     77:  * request (e.g., directory entries for multiviews and directory listings);
                     78:  * the lookup functions stop short of actually running the request, but
                     79:  * (e.g., for includes), a module may call for the request to be run
                     80:  * by calling run_sub_req.  The space allocated to create sub_reqs can be
                     81:  * reclaimed by calling destroy_sub_req --- be sure to copy anything you care
                     82:  * about which was allocated in its pool elsewhere before doing this.
                     83:  */
                     84: 
                     85: API_EXPORT(request_rec *) ap_sub_req_lookup_uri(const char *new_file,
                     86:                                              const request_rec *r);
                     87: API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
                     88:                                               const request_rec *r);
                     89: API_EXPORT(request_rec *) ap_sub_req_method_uri(const char *method,
                     90:                                                 const char *new_file,
                     91:                                                 const request_rec *r);
                     92: API_EXPORT(int) ap_run_sub_req(request_rec *r);
                     93: API_EXPORT(void) ap_destroy_sub_req(request_rec *r);
                     94: 
                     95: /*
                     96:  * Then there's the case that you want some other request to be served
                     97:  * as the top-level request INSTEAD of what the client requested directly.
                     98:  * If so, call this from a handler, and then immediately return OK.
                     99:  */
                    100: 
                    101: API_EXPORT(void) ap_internal_redirect(const char *new_uri, request_rec *);
                    102: API_EXPORT(void) ap_internal_redirect_handler(const char *new_uri, request_rec *);
                    103: API_EXPORT(int) ap_some_auth_required(request_rec *r);
                    104: API_EXPORT(int) ap_is_initial_req(request_rec *r);
                    105: API_EXPORT(time_t) ap_update_mtime(request_rec *r, time_t dependency_mtime);
                    106: 
                    107: #ifdef CORE_PRIVATE
                    108: /* Function called by main.c to handle first-level request */
                    109: void ap_process_request(request_rec *);
                    110: API_EXPORT(void) ap_die(int type, request_rec *r);
                    111: #endif
                    112: 
                    113: #ifdef __cplusplus
                    114: }
                    115: #endif
                    116: 
                    117: #endif /* !APACHE_HTTP_REQUEST_H */

E-mail: