mod_proxy.h revision dec91c8938ddfd2904d4c1c2f382e8eb50da54b8
458N/A/* ==================================================================== 458N/A * The Apache Software License, Version 1.1 458N/A * Copyright (c) 2000 The Apache Software Foundation. All rights 458N/A * Redistribution and use in source and binary forms, with or without 458N/A * modification, are permitted provided that the following conditions 458N/A * 1. Redistributions of source code must retain the above copyright 458N/A * notice, this list of conditions and the following disclaimer. 458N/A * 2. Redistributions in binary form must reproduce the above copyright 458N/A * notice, this list of conditions and the following disclaimer in 458N/A * the documentation and/or other materials provided with the 458N/A * 3. The end-user documentation included with the redistribution, 458N/A * if any, must include the following acknowledgment: 2833N/A * "This product includes software developed by the 458N/A * Alternately, this acknowledgment may appear in the software itself, 458N/A * if and wherever such third-party acknowledgments normally appear. 458N/A * 4. The names "Apache" and "Apache Software Foundation" must 458N/A * not be used to endorse or promote products derived from this 458N/A * software without prior written permission. For written 3047N/A * permission, please contact apache@apache.org. 458N/A * 5. Products derived from this software may not be called "Apache", 2833N/A * nor may "Apache" appear in their name, without prior written 844N/A * permission of the Apache Software Foundation. 618N/A * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1258N/A * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 458N/A * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 3047N/A * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 2899N/A * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 458N/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 458N/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 458N/A * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 581N/A * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 458N/A * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1567N/A * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1567N/A * ==================================================================== 1567N/A * This software consists of voluntary contributions made by many 458N/A * individuals on behalf of the Apache Software Foundation. For more 458N/A * information on the Apache Software Foundation, please see 969N/A * Portions of this software are based upon public domain software 969N/A * originally written at the National Center for Supercomputing Applications, 969N/A * University of Illinois, Urbana-Champaign. 969N/A * Main include file for the Apache proxy 458N/A Note that the Explain() stuff is not yet complete. 458N/A Also note numerous FIXMEs and CHECKMEs which should be eliminated. 458N/A If TESTING is set, then garbage collection doesn't delete ... probably a good 458N/A This code is still experimental! 646N/A 1. Make it garbage collect in the background, not while someone is waiting for 646N/A 2. Check the logic thoroughly. 646N/A 3. Empty directories are only removed the next time round (but this does avoid 646N/A two passes). Consider doing them the first time round. 646N/A Ben Laurie <ben@algroup.co.uk> 30 Mar 96 458N/A 0. Code cleanup (ongoing) 581N/A 1. add 230 response output for ftp now that it works 581N/A 2. Make the ftp proxy transparent, also same with (future) gopher & wais 458N/A 3. Use protocol handler struct a la Apache module handlers (Dirk van Gulik) 458N/A 4. Use a cache expiry database for more efficient GC (Jeremy Wohl) 458N/A 5. Bulletproof GC against SIGALRM 458N/A Chuck Murcko <chuck@topsail.org> 15 April 1997 1567N/A#
define HDR_APP (0)
/* append header, for proxy_add_header() */ 1567N/A#
define HDR_REP (
1)
/* replace header, for proxy_add_header() */ 458N/A#
else /*CHARSET_EBCDIC*/ 458N/A#
endif /*CHARSET_EBCDIC*/ /* Some WWW schemes and their default ports; this is basically /etc/services */ /* static information about a remote proxy */ const char *
scheme;
/* the schemes handled by this proxy, or '*' */ const char *
protocol;
/* the scheme used to talk to this proxy */ const char *
hostname;
/* the hostname of this proxy */ int port;
/* the port for this proxy */ const char *
domain;
/* domain name to use in absence of a domain name in the request */ int req;
/* true if proxy requests are enabled */ }
viaopt;
/* how to deal with proxy Via: headers *//* Function prototypes */ /* This function is called by ap_table_do() for all header lines */