\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 the RFC
2616 for the list of the responses.


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

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

Creates a new input stream on the specified path. You can use all except the seek
functionality of wxStream. Seek isn't available on all streams. For example,
HTTP or FTP streams don't deal with it. Other functions like Tell and SeekI
aren't available for the moment for this sort of stream.
You will be notified when the EOF is reached by an error.

\wxheading{Note}

You can know the size of the file you are getting using \helpref{wxStreamBase::GetSize()}{wxstreambasegetsize}.
But there is a limitation: as HTTP servers aren't obliged to pass the size of
the file, in some case, you will be returned 0xfffffff by GetSize(). In these
cases, you should use the value returned by \helpref{wxInputStream::LastRead()}{wxinputstreamlastread}:
this value will be 0 when the stream is finished.

\wxheading{Return value}

Returns the initialized stream. You will have to delete it yourself once you
don't use it anymore. 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 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 mean that "CONTENT-TYPE" and "content-type" 
represent the same header.

