1998-09-06 14:28:00 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: http.h
|
|
|
|
// Purpose: HTTP protocol
|
|
|
|
// Author: Guilhem Lavaux
|
|
|
|
// Modified by:
|
|
|
|
// Created: August 1997
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) 1997, 1998 Guilhem Lavaux
|
2003-03-17 05:34:04 -05:00
|
|
|
// Licence: wxWindows licence
|
1998-09-06 14:28:00 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_HTTP_H
|
|
|
|
#define _WX_HTTP_H
|
|
|
|
|
2001-12-30 17:27:24 -05:00
|
|
|
#include "wx/defs.h"
|
|
|
|
|
|
|
|
#if wxUSE_PROTOCOL_HTTP
|
|
|
|
|
1998-09-06 14:28:00 -04:00
|
|
|
#include "wx/list.h"
|
|
|
|
#include "wx/protocol/protocol.h"
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxHTTP : public wxProtocol {
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxHTTP)
|
|
|
|
DECLARE_PROTOCOL(wxHTTP)
|
|
|
|
protected:
|
|
|
|
wxProtocolError m_perr;
|
|
|
|
wxList m_headers;
|
1999-07-28 13:29:59 -04:00
|
|
|
bool m_read, m_proxy_mode;
|
1998-09-06 14:28:00 -04:00
|
|
|
wxSockAddress *m_addr;
|
|
|
|
public:
|
|
|
|
wxHTTP();
|
|
|
|
~wxHTTP();
|
|
|
|
|
|
|
|
bool Connect(const wxString& host);
|
1999-01-07 10:22:05 -05:00
|
|
|
bool Connect(wxSockAddress& addr, bool wait);
|
1998-09-06 14:28:00 -04:00
|
|
|
bool Abort();
|
|
|
|
wxInputStream *GetInputStream(const wxString& path);
|
|
|
|
inline wxProtocolError GetError() { return m_perr; }
|
|
|
|
wxString GetContentType();
|
|
|
|
|
|
|
|
void SetHeader(const wxString& header, const wxString& h_data);
|
|
|
|
wxString GetHeader(const wxString& header);
|
|
|
|
|
1999-07-28 13:29:59 -04:00
|
|
|
void SetProxyMode(bool on);
|
|
|
|
|
1998-09-06 14:28:00 -04:00
|
|
|
protected:
|
|
|
|
typedef enum {
|
1999-07-25 10:26:15 -04:00
|
|
|
wxHTTP_GET,
|
|
|
|
wxHTTP_HEAD
|
1998-09-06 14:28:00 -04:00
|
|
|
} wxHTTP_Req;
|
|
|
|
bool BuildRequest(const wxString& path, wxHTTP_Req req);
|
|
|
|
void SendHeaders();
|
|
|
|
bool ParseHeaders();
|
2002-01-03 12:18:38 -05:00
|
|
|
|
|
|
|
// deletes the header value strings
|
|
|
|
void ClearHeaders();
|
2003-01-02 18:38:11 -05:00
|
|
|
|
|
|
|
DECLARE_NO_COPY_CLASS(wxHTTP)
|
1998-09-06 14:28:00 -04:00
|
|
|
};
|
|
|
|
|
2001-12-30 17:27:24 -05:00
|
|
|
#endif // wxUSE_PROTOCOL_HTTP
|
|
|
|
|
|
|
|
#endif // _WX_HTTP_H
|
|
|
|
|