00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef INCL_TRANSPORT_AGENT
00037 #define INCL_TRANSPORT_AGENT
00038
00040 #include "base/fscapi.h"
00041 #include "base/util/StringBuffer.h"
00042
00043 #include "http/URL.h"
00044 #include "http/Proxy.h"
00045
00046
00047
00048
00049 #define DEFAULT_MAX_TIMEOUT 300
00050
00051
00052
00053
00054
00055 #define DEFAULT_MAX_MSG_SIZE 512000
00056
00057
00058
00059
00060
00061 #define DEFAULT_INTERNET_READ_BUFFER_SIZE 4096
00062 #include "base/globalsdef.h"
00063
00064 BEGIN_NAMESPACE
00065
00066
00067
00068
00069
00070
00071
00072 class TransportAgent {
00073
00074 protected:
00075 URL url;
00076 Proxy proxy;
00077
00078 unsigned int timeout;
00079 unsigned int maxmsgsize;
00080 unsigned int readBufferSize;
00081 char userAgent[128];
00082 bool compression;
00083 StringBuffer SSLServerCertificates;
00084 bool SSLVerifyServer;
00085 bool SSLVerifyHost;
00086
00087 public:
00088 TransportAgent();
00089 TransportAgent(URL& url,
00090 Proxy& proxy,
00091 unsigned int responseTimeout = DEFAULT_MAX_TIMEOUT,
00092 unsigned int maxmsgsize = DEFAULT_MAX_MSG_SIZE);
00093
00094 virtual ~TransportAgent();
00095
00096
00097
00098
00099
00100
00101
00102 virtual void setURL(URL& newURL);
00103
00104
00105
00106
00107 virtual URL& getURL();
00108
00114 virtual void setTimeout(unsigned int t);
00115
00119 virtual unsigned int getTimeout();
00120
00126 virtual void setMaxMsgSize(unsigned int t);
00127
00131 virtual unsigned int getMaxMsgSize();
00132
00138 virtual void setReadBufferSize(unsigned int t);
00139
00140 virtual void setUserAgent(const char* ua);
00141
00142 virtual void setCompression(bool newCompression);
00143 virtual bool getCompression();
00144
00145 virtual const char* getUserAgent();
00146
00150 virtual unsigned int getReadBufferSize();
00151
00157 virtual const char* getSSLServerCertificates() const { return SSLServerCertificates.c_str(); }
00158 virtual void setSSLServerCertificates(const char *value) { SSLServerCertificates = value ? value : ""; }
00159
00167 virtual bool getSSLVerifyServer() const { return SSLVerifyServer; }
00168 virtual void setSSLVerifyServer(bool value) { SSLVerifyServer = value; }
00169
00177 virtual bool getSSLVerifyHost() const { return SSLVerifyHost; }
00178 virtual void setSSLVerifyHost(bool value) { SSLVerifyHost = value; }
00179
00180
00181
00182
00183
00184
00185
00186
00187 virtual char* sendMessage(const char* msg) = 0;
00188
00189 };
00190
00191
00192 END_NAMESPACE
00193
00195 #endif