]> err.no Git - sope/blob - sope-appserver/NGObjWeb/NGObjWeb/WOProxyRequestHandler.h
major improvements in resource/template lookup with SoProduct's
[sope] / sope-appserver / NGObjWeb / NGObjWeb / WOProxyRequestHandler.h
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of SOPE.
5
6   SOPE is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with SOPE; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21
22 #ifndef __NGObjWeb_WOProxyRequestHandler_H__
23 #define __NGObjWeb_WOProxyRequestHandler_H__
24
25 #import <NGObjWeb/WORequestHandler.h>
26
27 @class WOHTTPConnection;
28
29 /*
30   This request-handler can be used to forward and debug HTTP requests. It
31   can log requests/responses to stdout and it can perform some request
32   manipulations:
33     rewriteHost     => change the host: header to match the destination
34     connectionClose => replace the connection handler with connection: close
35 */
36
37 @interface WOProxyRequestHandler : WORequestHandler
38 {
39   WOHTTPConnection *client;
40   BOOL     rawLogRequest;
41   BOOL     rawLogResponse;
42   BOOL     rewriteHost;
43   BOOL     connectionClose;
44   NSString *logFilePrefix;
45   int      rqcount;
46 }
47
48 - (id)initWithHost:(NSString *)_hostName onPort:(unsigned int)_port;
49
50 /* settings */
51
52 - (void)enableRawLogging;
53 - (void)setLogFilePrefix:(NSString *)_p;
54
55 /* fixups */
56
57 - (WORequest *)fixupRequest:(WORequest *)_request;
58 - (WOResponse *)fixupResponse:(WOResponse *)_r;
59
60 @end
61
62 #endif /* __NGObjWeb_WOProxyRequestHandler_H__ */