|
| | PHTTPClient (const PString &userAgentName=PString::Empty()) |
| | Create a new HTTP client channel. More...
|
| |
| | ~PHTTPClient () |
| |
| bool | ConnectURL (const PURL &url) |
| | Connect at transport level to remote, based on URL. More...
|
| |
| int | ExecuteCommand (Commands cmd, const PURL &url, PMIMEInfo &outMIME, const PString &dataBody, PMIMEInfo &replyMime) |
| | Send a command and wait for the response header (including MIME fields). More...
|
| |
| int | ExecuteCommand (Commands cmd, const PURL &url, PMIMEInfo &outMIME, const PBYTEArray &dataBody, PMIMEInfo &replyMime) |
| |
| int | ExecuteCommand (Commands cmd, const PURL &url, PMIMEInfo &outMIME, ContentProcessor &processor, PMIMEInfo &replyMime) |
| |
| bool | WriteCommand (Commands cmd, const PString &url, PMIMEInfo &outMIME, ContentProcessor &processor) |
| | Write a HTTP command to server. More...
|
| |
| bool | ReadResponse (PMIMEInfo &replyMIME) |
| | Read a response from the server. More...
|
| |
| bool | ReadContentBody (PMIMEInfo &replyMIME, ContentProcessor &processor) |
| | Read the body of the HTTP command. More...
|
| |
| bool | ReadContentBody (PMIMEInfo &replyMIME) |
| | Read the body of the HTTP command, throwing it away. More...
|
| |
| bool | ReadContentBody (PMIMEInfo &replyMIME, PString &body) |
| | Read the body of the HTTP command as a string. More...
|
| |
| bool | ReadContentBody (PMIMEInfo &replyMIME, PBYTEArray &body) |
| | Read the body of the HTTP command as a binary block. More...
|
| |
| bool | GetDocument (const PURL &url, ContentProcessor &processor) |
| | Start getting the document specified by the URL. More...
|
| |
| bool | GetDocument (const PURL &url, PMIMEInfo &outMIME, PMIMEInfo &replyMIME) |
| | Start getting the document specified by the URL. More...
|
| |
| bool | GetDocument (const PURL &url, PMIMEInfo &replyMIME) |
| |
| bool | GetTextDocument (const PURL &url, PString &document, const PString &contentType=PString::Empty()) |
| | Get the document specified by the URL. More...
|
| |
| bool | GetBinaryDocument (const PURL &url, PBYTEArray &document, const PString &contentType=PString::Empty()) |
| | Get the document specified by the URL. More...
|
| |
| bool | GetHeader (const PURL &url, PMIMEInfo &outMIME, PMIMEInfo &replyMIME) |
| | Get the header for the document specified by the URL. More...
|
| |
| bool | GetHeader (const PURL &url, PMIMEInfo &replyMIME) |
| |
| bool | PostData (const PURL &url, const PStringToString &data) |
| | Post the "application/x-www-form-urlencoded" data specified to the URL. More...
|
| |
| bool | PostData (const PURL &url, const PStringToString &data, PMIMEInfo &replyMIME, PString &replyBody) |
| | Post the "application/x-www-form-urlencoded" data specified to the URL. More...
|
| |
| bool | PostData (const PURL &url, PMIMEInfo &outMIME, const PString &data) |
| | Post the data specified to the URL. More...
|
| |
| bool | PostData (const PURL &url, PMIMEInfo &outMIME, const PString &data, PMIMEInfo &replyMIME) |
| | Start a post of the data specified to the URL. More...
|
| |
| bool | PostData (const PURL &url, PMIMEInfo &outMIME, const PString &data, PMIMEInfo &replyMIME, PString &replyBody) |
| | Post the data specified to the URL. More...
|
| |
| bool | PutDocument (const PURL &url, const PString &document, const PString &contentType=PMIMEInfo::TextPlain(), const PMIMEInfo &mime=PMIMEInfo()) |
| | Put the document specified by the URL. More...
|
| |
| bool | PutDocument (const PURL &url, const PBYTEArray &document, const PString &contentType, const PMIMEInfo &mime=PMIMEInfo()) |
| | Put the document specified by the URL. More...
|
| |
| bool | PutDocument (const PURL &url, const PFilePath &document, const PString &contentType=PString::Empty(), const PMIMEInfo &mime=PMIMEInfo()) |
| | Put the document specified by the URL. More...
|
| |
| bool | PutTextDocument (const PURL &url, const PString &document, const PString &contentType=PMIMEInfo::TextPlain()) |
| |
| bool | DeleteDocument (const PURL &url) |
| | Delete the document specified by the URL. More...
|
| |
| void | SetAuthenticationInfo (const PString &userName, const PString &password) |
| | Set authentication paramaters to be use for retreiving documents. More...
|
| |
| void | SetPersistent (bool persist=true) |
| | Set persistent connection mode. More...
|
| |
| bool | GetPersistent () const |
| | Get persistent connection mode. More...
|
| |
| void | SetMaxRedirects (unsigned maxRedirects) |
| | Set max redirects on operation. More...
|
| |
| unsigned | GetMaxRedirects () const |
| | Get max redirects on operation. More...
|
| |
| virtual PBoolean | Read (void *buf, PINDEX len) |
| | Low level read from the channel. More...
|
| |
| virtual int | ReadChar () |
| | Read a single 8 bit byte from the channel. More...
|
| |
| virtual PBoolean | Write (const void *buf, PINDEX len) |
| | Low level write to the channel. More...
|
| |
| void | SetReadLineTimeout (const PTimeInterval &t) |
| | Set the maximum timeout between characters within a line. More...
|
| |
| virtual PBoolean | Connect (const PString &address, WORD port=0) |
| | Connect a socket to a remote host for the internet protocol. More...
|
| |
| virtual PBoolean | Connect (const PString &address, const PString &service) |
| |
| virtual PBoolean | Accept (PSocket &listener) |
| | Accept a server socket to a remote host for the internet protocol. More...
|
| |
| const PString & | GetDefaultService () const |
| | Get the default service name or port number to use in socket connections. More...
|
| |
| PIPSocket * | GetSocket () const |
| | Get the eventual socket for the series of indirect channels that may be between the current protocol and the actual I/O channel. More...
|
| |
| virtual PBoolean | WriteLine (const PString &line) |
| | Write a string to the socket channel followed by a CR/LF pair. More...
|
| |
| virtual PBoolean | ReadLine (PString &line, PBoolean allowContinuation=false) |
| | Read a string from the socket channel up to a CR/LF pair. More...
|
| |
| virtual void | UnRead (int ch) |
| | Put back the characters into the data stream so that the next Read() function call will return them first. More...
|
| |
| virtual void | UnRead (const PString &str) |
| |
| virtual void | UnRead (const void *buffer, PINDEX len) |
| |
| virtual bool | WriteCommand (PINDEX cmdNumber, const PString ¶m=PString::Empty()) |
| | Write a single line for a command. More...
|
| |
| virtual bool | WriteCommand (PINDEX cmdNumber, const PString ¶m, const PMIMEInfo &mime) |
| |
| virtual PBoolean | ReadCommand (PINDEX &num, PString &args) |
| | Read a single line of a command which ends with a CR/LF pair. More...
|
| |
| virtual PBoolean | ReadCommand (PINDEX &num, PString &args, PMIMEInfo &mime) |
| |
| virtual PBoolean | WriteResponse (unsigned numericCode, const PString &info) |
| | Write a response code followed by a text string describing the response to a command. More...
|
| |
| virtual PBoolean | WriteResponse (const PString &code, const PString &info) |
| |
| virtual PBoolean | ReadResponse () |
| | Read a response code followed by a text string describing the response to a command. More...
|
| |
| virtual PBoolean | ReadResponse (int &code, PString &info) |
| |
| virtual PBoolean | ReadResponse (int &code, PString &info, PMIMEInfo &mime) |
| |
| virtual int | ExecuteCommand (PINDEX cmdNumber) |
| | Write a command to the socket, using WriteCommand() and await a response using ReadResponse(). More...
|
| |
| virtual int | ExecuteCommand (PINDEX cmdNumber, const PString ¶m) |
| |
| int | GetLastResponseCode () const |
| | Return the code associated with the last response received by the socket. More...
|
| |
| PString | GetLastResponseInfo () const |
| | Return the last response received by the socket. More...
|
| |
| | PIndirectChannel () |
| | Create a new indirect channel without any channels to redirect to. More...
|
| |
| | ~PIndirectChannel () |
| | Close the indirect channel, deleting read/write channels if desired. More...
|
| |
| Comparison | Compare (const PObject &obj) const |
| | Determine if the two objects refer to the same indirect channel. More...
|
| |
| virtual PString | GetName () const |
| | Get the name of the channel. More...
|
| |
| virtual P_INT_PTR | GetHandle () const |
| | Get the OS specific handle for the PSoundChannel. More...
|
| |
| virtual PBoolean | Close () |
| | Close the channel. More...
|
| |
| virtual PBoolean | IsOpen () const |
| | Determine if the channel is currently open and read and write operations can be executed on it. More...
|
| |
| virtual PBoolean | Shutdown (ShutdownValue option) |
| | Close one or both of the data streams associated with a channel. More...
|
| |
| virtual bool | SetLocalEcho (bool localEcho) |
| | Set local echo mode. More...
|
| |
| virtual PChannel * | GetBaseReadChannel () const |
| | This function returns the eventual base channel for reading of a series of indirect channels provided by descendents of PIndirectChannel. More...
|
| |
| virtual PChannel * | GetBaseWriteChannel () const |
| | This function returns the eventual base channel for writing of a series of indirect channels provided by descendents of PIndirectChannel. More...
|
| |
| virtual bool | CloseBaseReadChannel () |
| | Close the base channel of channel indirection using PIndirectChannel. More...
|
| |
| virtual bool | CloseBaseWriteChannel () |
| | Close the base channel of channel indirection using PIndirectChannel. More...
|
| |
| virtual PString | GetErrorText (ErrorGroup group=NumErrorGroups) const |
| | Get error message description. More...
|
| |
| PBoolean | Open (PChannel &channel) |
| | Set the channel for both read and write operations. More...
|
| |
| PBoolean | Open (PChannel *channel, PBoolean autoDelete=true) |
| | Set the channel for both read and write operations. More...
|
| |
| PBoolean | Open (PChannel *readChannel, PChannel *writeChannel, PBoolean autoDeleteRead=true, PBoolean autoDeleteWrite=true) |
| | Set the channel for both read and write operations. More...
|
| |
| PChannel * | Detach (ShutdownValue option=ShutdownReadAndWrite) |
| | Detach without closing the read/write channel. More...
|
| |
| PChannel * | GetReadChannel () const |
| | Get the channel used for read operations. More...
|
| |
| bool | SetReadChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| | Set the channel for read operations. More...
|
| |
| PChannel * | GetWriteChannel () const |
| | Get the channel used for write operations. More...
|
| |
| PBoolean | SetWriteChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| | Set the channel for read operations. More...
|
| |
| template<class ChannelClass > |
| ChannelClass * | FindChannel () |
| | Locate a channel of a specific class in the indirect chain. More...
|
| |
| PBoolean | SetErrorValues (Errors errorCode, int osError, ErrorGroup group=LastGeneralError) |
| | Set error values to those specified. More...
|
| |
| virtual PINDEX | HashFunction () const |
| | Calculate a hash value for use in sets and dictionaries. More...
|
| |
| FILE * | FDOpen (const char *mode) |
| | Re-open the device using the stdio library. More...
|
| |
| void | SetReadTimeout (const PTimeInterval &time) |
| | Set the timeout for read operations. More...
|
| |
| PTimeInterval | GetReadTimeout () const |
| | Get the timeout for read operations. More...
|
| |
| virtual PINDEX | GetLastReadCount () const |
| | Get the number of bytes read by the last Read() call. More...
|
| |
| virtual PINDEX | SetLastReadCount (PINDEX count) |
| |
| PBoolean | ReadBlock (void *buf, PINDEX len) |
| | Read len bytes into the buffer from the channel. More...
|
| |
| PString | ReadString (PINDEX len) |
| | Read len character into a string from the channel. More...
|
| |
| void | SetWriteTimeout (const PTimeInterval &time) |
| | Set the timeout for write operations to complete. More...
|
| |
| PTimeInterval | GetWriteTimeout () const |
| | Get the timeout for write operations to complete. More...
|
| |
| virtual PBoolean | Write (const void *buf, PINDEX len, const void *) |
| | Low level write to the channel with marker. More...
|
| |
| virtual PINDEX | GetLastWriteCount () const |
| | Get the number of bytes written by the last Write() call. More...
|
| |
| virtual PINDEX | SetLastWriteCount (PINDEX count) |
| |
| PBoolean | WriteChar (int c) |
| | Write a single character to the channel. More...
|
| |
| PBoolean | WriteString (const PString &str) |
| | Write a string to the channel. More...
|
| |
| | ~PChannel () |
| | Close down the channel. More...
|
| |
| Errors | GetErrorCode (ErrorGroup group=NumErrorGroups) const |
| | Get normalised error code. More...
|
| |
| int | GetErrorNumber (ErrorGroup group=NumErrorGroups) const |
| | Get OS errro code. More...
|
| |
| virtual bool | ReadAsync (AsyncContext &context) |
| | Begin an asynchronous read from channel. More...
|
| |
| virtual void | OnReadComplete (AsyncContext &context) |
| | User callback function for when a ReadAsync() call has completed or timed out. More...
|
| |
| virtual bool | WriteAsync (AsyncContext &context) |
| | Begin an asynchronous write from channel. More...
|
| |
| virtual void | OnWriteComplete (AsyncContext &context) |
| | User callback function for when a WriteAsync() call has completed or timed out. More...
|
| |
| virtual bool | FlowControl (const void *flowData) |
| | Flow Control information Pass data to the channel for flowControl determination. More...
|
| |
| PBoolean | SetBufferSize (PINDEX newSize) |
| | Set the iostream buffer size for reads and writes. More...
|
| |
| PBoolean | SendCommandString (const PString &command) |
| | Send a command meta-string. More...
|
| |
| void | AbortCommandString () |
| | Abort a command string that is in progress. More...
|
| |
| __inline unsigned | GetTraceContextIdentifier () const |
| | Get PTRACE context identifier. More...
|
| |
| __inline void | SetTraceContextIdentifier (unsigned id) |
| |
| __inline void | SetTraceContextIdentifier (const PObject &obj) |
| |
| __inline void | SetTraceContextIdentifier (const PObject *obj) |
| |
| __inline void | CopyTraceContextIdentifier (PObject &obj) const |
| |
| __inline void | CopyTraceContextIdentifier (PObject *obj) const |
| |
| virtual | ~PObject () |
| |
| __inline const char * | GetClass () const |
| |
| __inline bool | IsClass (const char *name) const |
| |
| __inline const PObject * | PTraceObjectInstance () const |
| |
| virtual PObject * | Clone () const |
| | Create a copy of the class on the heap. More...
|
| |
| template<class CLS > |
| CLS * | CloneAs () const |
| | As for Clone() but converts to specified type. More...
|
| |
| virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| | Determine the byte wise comparison of two objects. More...
|
| |
| bool | operator== (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| bool | operator!= (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| bool | operator< (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| bool | operator> (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| bool | operator<= (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| bool | operator>= (const PObject &obj) const |
| | Compare the two objects. More...
|
| |
| virtual void | PrintOn (ostream &strm) const |
| | Output the contents of the object to the stream. More...
|
| |
| virtual void | ReadFrom (istream &strm) |
| | Input the contents of the object from the stream. More...
|
| |
|
| static const PCaselessString & | HostTag () |
| |
| static const PCaselessString & | AllowTag () |
| |
| static const PCaselessString & | AuthorizationTag () |
| |
| static const PCaselessString & | ContentEncodingTag () |
| |
| static const PCaselessString & | ContentLengthTag () |
| |
| static const PCaselessString & | ContentTypeTag () |
| |
| static const PCaselessString & | DateTag () |
| |
| static const PCaselessString & | ExpiresTag () |
| |
| static const PCaselessString & | FromTag () |
| |
| static const PCaselessString & | IfModifiedSinceTag () |
| |
| static const PCaselessString & | LastModifiedTag () |
| |
| static const PCaselessString & | LocationTag () |
| |
| static const PCaselessString & | PragmaTag () |
| |
| static const PCaselessString & | PragmaNoCacheTag () |
| |
| static const PCaselessString & | RefererTag () |
| |
| static const PCaselessString & | ServerTag () |
| |
| static const PCaselessString & | UserAgentTag () |
| |
| static const PCaselessString & | WWWAuthenticateTag () |
| |
| static const PCaselessString & | MIMEVersionTag () |
| |
| static const PCaselessString & | ConnectionTag () |
| |
| static const PCaselessString & | KeepAliveTag () |
| |
| static const PCaselessString & | UpgradeTag () |
| |
| static const PCaselessString & | WebSocketTag () |
| |
| static const PCaselessString & | WebSocketKeyTag () |
| |
| static const PCaselessString & | WebSocketAcceptTag () |
| |
| static const PCaselessString & | WebSocketProtocolTag () |
| |
| static const PCaselessString & | WebSocketVersionTag () |
| |
| static const PCaselessString & | TransferEncodingTag () |
| |
| static const PCaselessString & | ChunkedTag () |
| |
| static const PCaselessString & | ProxyConnectionTag () |
| |
| static const PCaselessString & | ProxyAuthorizationTag () |
| |
| static const PCaselessString & | ProxyAuthenticateTag () |
| |
| static const PCaselessString & | ForwardedTag () |
| |
| static const PCaselessString & | SetCookieTag () |
| |
| static const PCaselessString & | CookieTag () |
| |
| static const PCaselessString & | FormUrlEncoded () |
| |
| static PString | GetErrorText (Errors lastError, int osError=0) |
| | Get error message description. More...
|
| |
| static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
| |
| static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
| |
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
| |
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
| |
| static __inline const char * | Class () |
| |
| static __inline const PObject * | PTraceObjectInstance (const char *) |
| |
| static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
| |
| template<typename T > |
| static Comparison | Compare2 (T v1, T v2) |
| | Compare two types, returning Comparison type. More...
|
| |
| static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
| | Internal function caled from CompareObjectMemoryDirect() More...
|
| |
| enum | StuffState {
DontStuff,
StuffIdle,
StuffCR,
StuffCRLF,
StuffCRLFdot,
StuffCRLFdotCR
} |
| |
| | PHTTP () |
| | Create a TCP/IP HTTP protocol channel. More...
|
| |
| | PHTTP (const char *defaultServiceName) |
| |
| virtual PINDEX | ParseResponse (const PString &line) |
| | Parse a response line string into a response code and any extra info on the line. More...
|
| |
| | PInternetProtocol (const char *defaultServiceName, PINDEX cmdCount, char const *const *cmdNames) |
| |
| bool | SetLastResponse (int code, const PString &info, ErrorGroup group=LastGeneralError) |
| |
| virtual PBoolean | OnOpen () |
| | This callback is executed when the Open() function is called with open channels. More...
|
| |
| | PDECLARE_READ_WRITE_MUTEX (channelPointerMutex) |
| | Race condition prevention on closing channel. More...
|
| |
| | PChannel (const PChannel &) |
| |
| PChannel & | operator= (const PChannel &) |
| |
| virtual PBoolean | ConvertOSError (P_INT_PTR libcReturnValue, ErrorGroup group=LastGeneralError) |
| | Convert an operating system error into platform independent error. More...
|
| |
| int | ReadCharWithTimeout (PTimeInterval &timeout) |
| | Read a character with specified timeout. More...
|
| |
| PBoolean | ReceiveCommandString (int nextChar, const PString &reply, PINDEX &pos, PINDEX start) |
| |
| bool | CheckNotOpen () |
| |
| virtual int | os_errno () const |
| |
| PBoolean | PXSetIOBlock (PXBlockType type, const PTimeInterval &timeout) |
| |
| P_INT_PTR | GetOSHandleAsInt () const |
| |
| int | PXClose () |
| |
| | PDECLARE_MUTEX (px_threadMutex) |
| |
| | PDECLARE_MUTEX (px_writeMutex) |
| |
| | PChannel () |
| | Create the channel. More...
|
| |
| | PObject () |
| | Constructor for PObject, made protected so cannot ever create one on its own. More...
|
| |
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
When acting as a client, the procedure is to make the connection to a remote server, then to retrieve a document using the following procedure:
PHTTPSocket web("webserver");
if (web.IsOpen()) {
PINDEX len;
if (web.GetDocument("http://www.someone.com/somewhere/url", len)) {
PString html = web.ReadString(len);
if (!html.IsEmpty())
ProcessHTML(html);
}
else
PError << "Could not get page." << endl;
}
else
PError << "HTTP conection failed." << endl;