]> err.no Git - sope/blob - sope-appserver/NGObjWeb/NGObjWeb/WOHTTPConnection.h
improved SOPE security exceptions
[sope] / sope-appserver / NGObjWeb / NGObjWeb / WOHTTPConnection.h
1 /*
2   Copyright (C) 2000-2004 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
6   OGo 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   OGo 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 OGo; 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 // $Id$
22
23 #ifndef __NGObjWeb_WOHTTPConnection_H__
24 #define __NGObjWeb_WOHTTPConnection_H__
25
26 #import <Foundation/NSObject.h>
27
28 /*
29   WOHTTPConnection
30   
31   This class can be used to access HTTP based services using the
32   NGObjWeb infrastructure.
33 */
34
35 @class NSURL;
36 @class NGCTextStream;
37 @class WORequest, WOResponse, NSException;
38
39 @interface WOHTTPConnection : NSObject
40 {
41   NSURL         *url;
42   
43   BOOL          keepAlive;
44   int           connectTimeout;
45   int           sendTimeout;
46   int           receiveTimeout;
47   
48   BOOL          useProxy;
49   BOOL          useSSL;
50   
51   id            socket;
52   id            log;
53   NGCTextStream *io;
54   NSException   *lastException;
55   
56   BOOL didRegisterForNotification;
57 }
58
59 - (id)initWithHost:(NSString *)_h onPort:(unsigned int)_p secure:(BOOL)_flag;
60 - (id)initWithHost:(NSString *)_hostName onPort:(unsigned int)_port;
61 - (id)initWithURL:(id)_url;
62
63 /* IO */
64
65 - (BOOL)sendRequest:(WORequest *)_request;
66 - (WOResponse *)readResponse;
67
68 - (void)setKeepAliveEnabled:(BOOL)_flag;
69 - (BOOL)keepAliveEnabled;
70
71 /* timeouts */
72
73 - (void)setConnectTimeout:(int)_seconds;
74 - (int)connectTimeout;
75 - (void)setReceiveTimeout:(int)_seconds;
76 - (int)receiveTimeout;
77 - (void)setSendTimeout:(int)_seconds;
78 - (int)sendTimeout;
79
80 @end
81
82 extern NSString *WOHTTPConnectionCanReadResponse;
83
84 @interface WOHTTPConnection(SkyrixAdds)
85
86 /* error handling */
87
88 - (NSException *)lastException;
89
90 @end
91
92 #endif /* __NGObjWeb_WOHTTPConnection_H__ */