\section{\class{wxHTTP}}\label{wxhttp}

\wxheading{Derived from}

\helpref{wxProtocol}{wxprotocol}

\wxheading{Include files}

<wx/protocol/http.h>

\wxheading{See also}

\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxURL}{wxurl}

% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------

% ----------------------------------------------------------------------------
\membersection{wxHTTP::GetResponse}\label{wxhttpgetresponse}

\constfunc{int}{GetResponse}{\void}

Returns the HTTP response code returned by the server. Please refer to
\urlref{RFC 2616}{http://www.faqs.org/rfcs/rfc2616.html} for the list of responses.


\membersection{wxHTTP::GetInputStream}\label{wxhttpgetinputstream}

\func{wxInputStream *}{GetInputStream}{\param{const wxString\&}{ path}}

Creates a new input stream on the specified path. Notice that this stream is
unseekable, i.e. SeekI() and TellI() methods shouldn't be used.

Note that you can still know the size of the file you are getting using 
\helpref{wxStreamBase::GetSize()}{wxstreambasegetsize}. However there is a
limitation: in HTTP protocol, the size is not always specified so sometimes
\texttt{(size\_t)-1} can returned ot indicate that the size is unknown. In such
case, you may want to use \helpref{wxInputStream::LastRead()}{wxinputstreamlastread} 
method in a loop to get the total size.

\wxheading{Return value}

Returns the initialized stream. You must delete it yourself once you
don't use it anymore and this must be done before the wxHTTP object itself is
destroyed. The destructor closes the network connection. The next time you will
try to get a file the network connection will have to be reestablished, but you
don't have to take care of this since wxHTTP reestablishes it automatically.

\wxheading{See also}

\helpref{wxInputStream}{wxinputstream}

% ----------------------------------------------------------------------------

\membersection{wxHTTP::SetHeader}\label{wxhttpsetheader}

\func{void}{SetHeader}{\param{const wxString\&}{ header}, \param{const wxString\&}{ h\_data}}

It sets data of a field to be sent during the next request to the HTTP server. The field
name is specified by {\it header} and the content by {\it h\_data}.
This is a low level function and it assumes that you know what you are doing.

\membersection{wxHTTP::GetHeader}\label{wxhttpgetheader}

\func{wxString}{GetHeader}{\param{const wxString\&}{ header}}

Returns the data attached with a field whose name is specified by {\it header}.
If the field doesn't exist, it will return an empty string and not a NULL string.

\wxheading{Note}

The header is not case-sensitive, i.e. "CONTENT-TYPE" and "content-type" 
represent the same header.

