diff --git a/include/wx/webrequest.h b/include/wx/webrequest.h index de45429126..7cc8417bdc 100644 --- a/include/wx/webrequest.h +++ b/include/wx/webrequest.h @@ -100,14 +100,7 @@ protected: wxFileOffset m_dataSize; wxSharedPtr m_dataStream; - wxWebRequest(wxWebSession& session, int id): - m_storage(Storage_Memory), - m_dataSize(0), - m_session(session), - m_id(id), - m_state(State_Idle), - m_ignoreServerErrorStatus(false), - m_bytesReceived(0) { } + wxWebRequest(wxWebSession& session, int id); bool CheckServerStatus(); @@ -227,8 +220,6 @@ public: virtual void SetHeader(const wxString& name, const wxString& value) { m_headers[name] = value; } - const wxWebRequestHeaderMap& GetHeaders() const { return m_headers; } - void SetTempDir(const wxString& dir) { m_tempDir = dir; } wxString GetTempDir() const; @@ -245,7 +236,12 @@ public: protected: wxWebSession(); + const wxWebRequestHeaderMap& GetHeaders() const { return m_headers; } + private: + // Make it a friend to allow accessing our m_headers. + friend class wxWebRequest; + wxWebRequestHeaderMap m_headers; wxString m_tempDir; diff --git a/src/common/webrequest.cpp b/src/common/webrequest.cpp index e46a9f3a07..8df716811b 100644 --- a/src/common/webrequest.cpp +++ b/src/common/webrequest.cpp @@ -59,6 +59,18 @@ wxDEFINE_EVENT(wxEVT_WEBREQUEST_DATA, wxWebRequestEvent); // // wxWebRequest // +wxWebRequest::wxWebRequest(wxWebSession& session, int id) + : m_storage(Storage_Memory), + m_headers(session.m_headers), + m_dataSize(0), + m_session(session), + m_id(id), + m_state(State_Idle), + m_ignoreServerErrorStatus(false), + m_bytesReceived(0) +{ +} + bool wxWebRequest::CheckServerStatus() { const wxWebResponse* resp = GetResponse(); diff --git a/src/common/webrequest_curl.cpp b/src/common/webrequest_curl.cpp index b62aa3241a..c7e01c3e1c 100644 --- a/src/common/webrequest_curl.cpp +++ b/src/common/webrequest_curl.cpp @@ -149,7 +149,6 @@ static size_t wxCURLRead(char *buffer, size_t size, size_t nitems, void *userdat wxWebRequestCURL::wxWebRequestCURL(wxWebSession & session, int id, const wxString & url): wxWebRequest(session, id) { - m_headers = session.GetHeaders(); m_headerList = NULL; m_handle = curl_easy_init(); diff --git a/src/msw/webrequest_winhttp.cpp b/src/msw/webrequest_winhttp.cpp index ef8bfad462..71dd0f9864 100644 --- a/src/msw/webrequest_winhttp.cpp +++ b/src/msw/webrequest_winhttp.cpp @@ -152,7 +152,6 @@ wxWebRequestWinHTTP::wxWebRequestWinHTTP(int id, wxWebSessionWinHTTP& session, c m_request(NULL), m_dataWritten(0) { - m_headers = session.GetHeaders(); } wxWebRequestWinHTTP::~wxWebRequestWinHTTP() diff --git a/src/osx/webrequest_urlsession.mm b/src/osx/webrequest_urlsession.mm index f0e0eb40ea..7996b843e8 100644 --- a/src/osx/webrequest_urlsession.mm +++ b/src/osx/webrequest_urlsession.mm @@ -94,7 +94,6 @@ wxWebRequestURLSession::wxWebRequestURLSession(wxWebSessionURLSession& session, wxWebRequest(session, id), m_url(url) { - m_headers = session.GetHeaders(); } wxWebRequestURLSession::~wxWebRequestURLSession()