188 MultipleChoices = 300,
207 InternalServerError = 500,
260 virtual PINDEX ParseResponse(
276 virtual PString GetEntityBody() = 0;
277 virtual PString GetMethod() = 0;
305 PString GetAuthParam(
const PString & auth,
const char * name)
const;
331 virtual PString GetEntityBody();
490 bool ReadContentBody(
495 bool ReadContentBody(
501 bool ReadContentBody(
530 bool GetTextDocument(
600 bool PutTextDocument(
628 void SetAuthenticationInfo(
636 ) { m_persist = persist; }
643 bool InternalReadContentBody(
679 PBoolean IsCompatible(
int major,
int minor)
const;
708 {
return m_multipartFormInfo; }
711 { m_multipartFormInfo.RemoveAll(); }
786 virtual PString GetServerName()
const;
889 virtual PString ReadEntityBody();
942 void SetDefaultMIMEInfo(
1041 static void DecodeBasicAuthority(
1282 void ClearAuthority();
1396 virtual PBoolean GetExpirationDate(
1430 virtual void SendData(
1465 virtual void OnLoadedText(
1481 PHTML & replyMessage
1880 void EnableAuthorisation(
const PString & realm);
1884 void AllowDirectories(
PBoolean enable =
true);
1923 #endif // PTLIB_HTTP_H void SetPersistenceMaximumTransations(unsigned m)
Set the maximum number of transations (GET/POST etc) for persistent connection.
Definition: http.h:705
PString commandName
Definition: http.h:720
void SetString(const PString &str)
Set the string to be returned by this resource.
Definition: http.h:1596
void EndRead()
This function attempts to release the mutex for reading.
virtual void SetPassword(const PString &pass)
Definition: http.h:302
const PURL & GetURL() const
Definition: http.h:674
static const PCaselessString & ContentTypeTag()
This class contains the Multipurpose Internet Mail Extensions parameters and variables.
Definition: mime.h:52
PString entityBody
Definition: http.h:728
volatile DWORD hitCount
COunt of number of times resource was accessed.
Definition: http.h:1514
PString & operator=(const PString &str)
Assign the string to the current object.
301 - resource moved permanently: location field has new URL
Definition: http.h:189
This class represents a disk file.
Definition: file.h:60
PString username
Definition: http.h:1129
This class defines an arbitrary time interval to millisecond accuracy.
Definition: timeint.h:55
unsigned GetPersistenceMaximumTransations() const
Get the maximum number of transations (GET/POST etc) for persistent connection.
Definition: http.h:700
Array of characters.
Definition: array.h:551
412 - no Range header for true Unless
Definition: http.h:206
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:1049
virtual PString GetPassword() const
Definition: http.h:298
PString m_uri
Definition: http.h:335
PSORTED_LIST(ChildList, Node)
This class describes the simplest authorisation mechanism for a Universal Resource Locator...
Definition: http.h:1055
PHTTPResource * resource
Definition: http.h:145
void ClearHitCount()
Definition: http.h:1292
PString password
Definition: http.h:1130
This abstract class describes the authorisation mechanism for a Universal Resource Locator...
Definition: http.h:1002
This class defines an absolute time and date.
Definition: ptime.h:53
void StartWrite() const
This function attempts to acquire the mutex for writing.
Definition: http.h:122
virtual void SetUsername(const PString &user)
Definition: http.h:301
PFilePath realPath
Definition: http.h:1914
503 - server temporarily unable to service request
Definition: http.h:210
void StartWrite()
This function attempts to acquire the mutex for writing.
Algorithm
Definition: http.h:390
void StartRead()
This function attempts to acquire the mutex for reading.
const PMultiPartList & multipartFormInfo
multipart form information, if any
Definition: http.h:984
203 - not definitive entity header
Definition: http.h:184
205 - contents have been reset
Definition: http.h:186
PHTTP::Commands commandCode
Definition: http.h:719
Generate error if resource already exists.
Definition: http.h:68
303 - see other URL
Definition: http.h:191
This is a dictionary collection class of PString objects, keyed by another string.
Definition: pstring.h:2784
This class describes a full description for a file on the particular platform.
Definition: filepath.h:65
PBoolean allowDirectoryListing
Definition: http.h:1897
PBoolean isProxy
Definition: http.h:313
PString m_password
Definition: http.h:651
Comparison
Result of the comparison operation performed by the Compare() function.
Definition: object.h:1184
PHTTPAuthority * authority
Authorisation method for the resource.
Definition: http.h:1513
PHTTPResource * FindResource(const PURL &url)
Locate the resource specified by the URL in the URL name space.
This class is a variation of a string that ignores case.
Definition: pstring.h:1708
PString string
Definition: http.h:1602
void EndWrite() const
This function attempts to release the mutex for writing.
Definition: http.h:127
PFile file
Definition: http.h:1725
PMIMEInfo & m_mime
Definition: http.h:336
PString m_userAgentName
Definition: http.h:648
PHTTPSpace & GetURLSpace()
Get the name space being used by the HTTP server socket.
Definition: http.h:793
virtual void SetAuthRealm(const PString &r)
Definition: http.h:388
PBoolean AddResource(PHTTPResource *resource, AddOptions overwrite=ErrorOnExist)
Add a new resource to the URL space.
bool wasPersistent
Definition: http.h:724
bool stale
Definition: http.h:407
Overwrite the existing resource at URL location.
Definition: http.h:69
501 - server does not implement request
Definition: http.h:208
PString entityBody
original entity body (POST only)
Definition: http.h:987
This object describes a HyperText Transport Protocol resource which is a single file.
Definition: http.h:1614
virtual PString GetAuthRealm() const
Definition: http.h:299
Node * parent
Definition: http.h:143
101 - upgrade allowed
Definition: http.h:180
This object describes a HyperText Transport Protocol resource which is a string kept in memory...
Definition: http.h:1525
unsigned persistenceMaximum
Definition: http.h:731
PString fakeIndex
Definition: http.h:1913
PHTTPClientAuthentication * m_authentication
Definition: http.h:652
PString realm
Definition: http.h:1128
401 - request requires authentication
Definition: http.h:195
bool GetPersistent() const
Get persistent connection mode.
Definition: http.h:639
This object describes a HyperText Transport Protocol resource.
Definition: http.h:1222
bool IsPersistent() const
Definition: http.h:681
404 - resource cannot be found
Definition: http.h:198
const PURL & GetURL() const
Get the URL for this resource.
Definition: http.h:1257
This object describes a HyperText Transport Protocol resource which is a set of files in a directory...
Definition: http.h:1819
A TCP/IP socket for process/application layer high level protocols.
Definition: inetprot.h:62
This class contains a variable length array of arbitrary memory blocks.
Definition: array.h:67
302 - resource moved temporarily: location field has new URL
Definition: http.h:190
ChildList children
Definition: http.h:144
long entityBodyLength
Definition: http.h:729
void EndRead() const
This function attempts to release the mutex for reading.
Definition: http.h:117
PHTTP::Commands GetCommandCode() const
Definition: http.h:671
BOOL PBoolean
Definition: object.h:102
Class to represent a directory in the operating system file system.
Definition: pdirect.h:182
402 - reserved
Definition: http.h:196
PHTTPConnectionInfo & GetConnectionInfo()
Get the connection info for this connection.
Definition: http.h:949
PTimeInterval GetPersistenceTimeout() const
Get the maximum time a persistent connection may persist.
Definition: http.h:691
const PString & GetPassword() const
Get the password allocated to this simple authorisation.
Definition: http.h:1124
Array of unsigned characters.
Definition: array.h:670
Node(const PString &name, Node *parentNode)
PString password
Definition: http.h:315
bool GetStale() const
Definition: http.h:397
This class implements an integer that can be atomically incremented and decremented in a thread-safe ...
Definition: critsec.h:171
405 - not allowed on this resource
Definition: http.h:199
410 - resource gone away
Definition: http.h:204
const PURL & url
Universal Resource Locator for document.
Definition: http.h:982
bool DecodeMultipartFormInfo()
Definition: http.h:717
PINDEX contentSize
Size of the body of the resource data.
Definition: http.h:988
int minorVersion
Definition: http.h:727
PIPSocket::Address localAddr
IP address of local interface for request.
Definition: http.h:990
const PString & GetString()
Get the string for this resource.
Definition: http.h:1592
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
Definition: http.h:436
PFACTORY_LOAD(PURL_HttpLoader)
PURL baseURL
Base URL for the resource, may accept URLS with a longer hierarchy.
Definition: http.h:1511
204 - no new information
Definition: http.h:185
int GetMinorVersion() const
Definition: http.h:685
DWORD GetHitCount() const
Get the current hit count for the resource.
Definition: http.h:1290
PString GetEntityBody() const
Definition: http.h:713
virtual PBoolean IsProxy() const
Definition: http.h:295
void ResetMultipartFormInfo()
Definition: http.h:710
bool m_persist
Definition: http.h:649
PHTTPAuthority * GetAuthority() const
Get the current authority for the resource.
Definition: http.h:1272
PHTTPSpace urlSpace
Definition: http.h:954
PString cnonce
Definition: http.h:408
PString authorisationRealm
Definition: http.h:1896
virtual ~AuthObject()
Definition: http.h:273
PIPSocket::Address origin
IP address of origin host for request.
Definition: http.h:989
PReadWriteMutex * mutex
Definition: http.h:132
void SetPersistenceTimeout(const PTimeInterval &t)
Set the maximum time a persistent connection may persist.
Definition: http.h:695
305 - proxy redirect
Definition: http.h:193
PDirectory basePath
Definition: http.h:1895
PString opaque
Definition: http.h:403
PString m_method
Definition: http.h:334
The character string class.
Definition: pstring.h:108
PHTTPConnectionInfo connectInfo
Definition: http.h:955
PAtomicInteger nonceCount
Definition: http.h:409
409 - resource conflict on action
Definition: http.h:203
int GetMajorVersion() const
Definition: http.h:684
virtual Comparison Compare(const PObject &obj) const
Get the relative rank of the two strings.
static PString Empty()
Return an empty string.
PFilePath filePath
Definition: http.h:1709
WORD localPort
Port number of local server for request.
Definition: http.h:991
PTimeInterval persistenceTimeout
Definition: http.h:730
#define PCONTAINERINFO(cls, par)
Macro to declare funtions required in a container.
Definition: contain.h:343
411 - no Content-Length
Definition: http.h:205
304 - document has not been modified
Definition: http.h:192
const PString & GetCommandName() const
Definition: http.h:672
void StartRead() const
This function attempts to acquire the mutex for reading.
Definition: http.h:112
PString nonce
Definition: http.h:401
const PMIMEInfo & GetMIME() const
Definition: http.h:676
PHTTP::StatusCode code
Status code for OnError() reply.
Definition: http.h:985
const PMultiPartList & GetMultipartFormInfo() const
Definition: http.h:707
Abstract class to embody the base functionality of a container.
Definition: contain.h:104
This class describes the simple authorisation mechanism for a Universal Resource Locator, a fixed realm, multiple usernames and passwords.
Definition: http.h:1140
bool isPersistent
Definition: http.h:723
static const PCaselessString & ContentTypeTag()
Definition: http.h:219
AddOptions
Definition: http.h:67
This class describes a name space that a Universal Resource Locator operates in.
Definition: http.h:58
void SetPersistent(bool persist=true)
Set persistent connection mode.
Definition: http.h:634
This class describes a HyperText markup Language string as used by the World Wide Web and the PURL an...
Definition: html.h:49
PMIMEInfo mimeInfo
Definition: http.h:722
PHTTPSpace()
Constructor for HTTP URL Name Space.
const PString & GetContentType() const
Get the current content type for the resource.
Definition: http.h:1264
Template class for generic factories of an abstract class.
Definition: pfactory.h:144
A class describing an IP address.
Definition: ipsock.h:75
virtual PString GetUsername() const
Definition: http.h:297
PFactory< PHTTPClientAuthentication > PHTTPClientAuthenticationFactory
Definition: http.h:318
PMultiPartList m_multipartFormInfo
Definition: http.h:732
const PString & GetOpaque() const
Definition: http.h:396
bool qopAuthInt
Definition: http.h:406
void EndWrite()
This function attempts to release the mutex for writing.
PString m_body
Definition: http.h:337
PHTTPServer & server
Server channel that request initiated on.
Definition: http.h:981
403 - request is refused due to unsufficient authorisation
Definition: http.h:197
StatusCode
Definition: http.h:178
PString m_userName
Definition: http.h:650
408 - server timeout on request
Definition: http.h:202
406 - encoding not acceptable
Definition: http.h:200
This class defines a thread synchronisation object.
Definition: syncthrd.h:251
PString contentType
MIME content type for the resource.
Definition: http.h:1512
PBoolean DelResource(const PURL &url)
Delete an existing resource to the URL space.
202 - request accepted, but not yet completed
Definition: http.h:183
bool WasPersistent() const
Definition: http.h:682
virtual PBoolean SetSize(PINDEX newSize)
Set the size of the string.
bool isProxyConnection
Definition: http.h:725
PURL url
Definition: http.h:721
bool qopAuth
Definition: http.h:405
502 - error whilst acting as gateway
Definition: http.h:209
unsigned transactionCount
Definition: http.h:956
PTimeInterval nextTimeout
Definition: http.h:957
PString authRealm
Definition: http.h:400
407 - must authenticate with proxy first
Definition: http.h:201
PString username
Definition: http.h:314
PMIMEInfo outMIME
MIME information used in reply.
Definition: http.h:986
static const PCaselessString & TextPlain()
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
Definition: http.h:762
bool IsProxyConnection() const
Definition: http.h:683
A common base class for TCP/IP socket for the HyperText Transfer Protocol version 1...
Definition: http.h:162
This object describes a HyperText Transport Protocol request.
Definition: http.h:968
Ultimate parent class for all objects in the class library.
Definition: object.h:1118
This object describes the connectiono associated with a HyperText Transport Protocol request...
Definition: http.h:665
206 - partial GET succeeded
Definition: http.h:187
PString realm
Definition: http.h:1211
Commands
Definition: http.h:168
This class describes a Universal Resource Locator.
Definition: url.h:54
long GetEntityBodyLength() const
Definition: http.h:687
virtual PString GetAuthRealm() const
Definition: http.h:387
int majorVersion
Definition: http.h:726
virtual PObject * Clone() const
Make a complete duplicate of the string.
Algorithm GetAlgorithm() const
Definition: http.h:395
PHTTPResource * m_resource
HTTP resource found for the request.
Definition: http.h:992
Algorithm algorithm
Definition: http.h:402
This object describes a HyperText Transport Protocol resource which is a single file.
Definition: http.h:1740
const PString & GetUserName() const
Get the user name allocated to this simple authorisation.
Definition: http.h:1117
PStringToString users
Definition: http.h:1212
201 - new resource created: entity body contains URL
Definition: http.h:182
const PMIMEInfo & inMIME
Extra MIME information in command.
Definition: http.h:983
const PString & GetNonce() const
Definition: http.h:394
virtual void SetAuthRealm(const PString &)
Definition: http.h:303