diff --git a/include/wx/msw/private/webrequest_winhttp.h b/include/wx/msw/private/webrequest_winhttp.h index 044da9a9e5..11f2755528 100644 --- a/include/wx/msw/private/webrequest_winhttp.h +++ b/include/wx/msw/private/webrequest_winhttp.h @@ -24,7 +24,7 @@ class wxWebResponseWinHTTP : public wxWebResponseImpl public: wxWebResponseWinHTTP(wxWebRequestWinHTTP& request); - wxInt64 GetContentLength() const wxOVERRIDE { return m_contentLength; } + wxFileOffset GetContentLength() const wxOVERRIDE { return m_contentLength; } wxString GetURL() const wxOVERRIDE; @@ -40,7 +40,7 @@ public: private: HINTERNET m_requestHandle; - wxInt64 m_contentLength; + wxFileOffset m_contentLength; wxDECLARE_NO_COPY_CLASS(wxWebResponseWinHTTP); }; diff --git a/include/wx/osx/private/webrequest_urlsession.h b/include/wx/osx/private/webrequest_urlsession.h index 770b42d305..bea7502b96 100644 --- a/include/wx/osx/private/webrequest_urlsession.h +++ b/include/wx/osx/private/webrequest_urlsession.h @@ -29,7 +29,7 @@ public: ~wxWebResponseURLSession(); - wxInt64 GetContentLength() const wxOVERRIDE; + wxFileOffset GetContentLength() const wxOVERRIDE; wxString GetURL() const wxOVERRIDE; diff --git a/include/wx/private/webrequest.h b/include/wx/private/webrequest.h index 4a515daa02..fc0848472a 100644 --- a/include/wx/private/webrequest.h +++ b/include/wx/private/webrequest.h @@ -133,7 +133,7 @@ class wxWebResponseImpl : public wxRefCounterMT public: virtual ~wxWebResponseImpl(); - virtual wxInt64 GetContentLength() const = 0; + virtual wxFileOffset GetContentLength() const = 0; virtual wxString GetURL() const = 0; diff --git a/include/wx/private/webrequest_curl.h b/include/wx/private/webrequest_curl.h index 93e38b439c..47c13f43e1 100644 --- a/include/wx/private/webrequest_curl.h +++ b/include/wx/private/webrequest_curl.h @@ -95,7 +95,7 @@ class wxWebResponseCURL : public wxWebResponseImpl public: explicit wxWebResponseCURL(wxWebRequestCURL& request); - wxInt64 GetContentLength() const wxOVERRIDE; + wxFileOffset GetContentLength() const wxOVERRIDE; wxString GetURL() const wxOVERRIDE; diff --git a/include/wx/webrequest.h b/include/wx/webrequest.h index 2f9ffb51e1..f73fe75040 100644 --- a/include/wx/webrequest.h +++ b/include/wx/webrequest.h @@ -93,7 +93,7 @@ public: bool IsOk() const { return m_impl.get() != NULL; } - wxInt64 GetContentLength() const; + wxFileOffset GetContentLength() const; wxString GetURL() const; diff --git a/interface/wx/webrequest.h b/interface/wx/webrequest.h index db900dabb7..fbee289ab8 100644 --- a/interface/wx/webrequest.h +++ b/interface/wx/webrequest.h @@ -394,6 +394,8 @@ public: This value is based on the @c Content-Length header, if none is found it will return -1. + + @see wxWebResponse::GetContentLength() */ wxFileOffset GetBytesExpectedToReceive() const; ///@} @@ -515,6 +517,14 @@ public: */ wxString GetHeader(const wxString& name) const; + /** + Get the length of returned data if available. + + Returns the value specified in the @c Content-Length: response header + of @c -1 if not available. + */ + wxFileOffset GetContentLength() const; + /** Returns the MIME type of the response (if available). */ diff --git a/src/common/webrequest.cpp b/src/common/webrequest.cpp index d1d51d2662..831418a9b5 100644 --- a/src/common/webrequest.cpp +++ b/src/common/webrequest.cpp @@ -677,7 +677,7 @@ wxWebResponse::~wxWebResponse() { } -wxInt64 wxWebResponse::GetContentLength() const +wxFileOffset wxWebResponse::GetContentLength() const { wxCHECK_IMPL( -1 ); diff --git a/src/common/webrequest_curl.cpp b/src/common/webrequest_curl.cpp index ab1cfceb77..71a11b7e90 100644 --- a/src/common/webrequest_curl.cpp +++ b/src/common/webrequest_curl.cpp @@ -99,7 +99,7 @@ size_t wxWebResponseCURL::CURLOnHeader(const char * buffer, size_t size) return size; } -wxInt64 wxWebResponseCURL::GetContentLength() const +wxFileOffset wxWebResponseCURL::GetContentLength() const { #if CURL_AT_LEAST_VERSION(7, 55, 0) curl_off_t len = 0; @@ -108,7 +108,7 @@ wxInt64 wxWebResponseCURL::GetContentLength() const #else double len = 0; curl_easy_getinfo(GetHandle(), CURLINFO_CONTENT_LENGTH_DOWNLOAD, &len); - return (wxInt64)len; + return (wxFileOffset)len; #endif } diff --git a/src/osx/webrequest_urlsession.mm b/src/osx/webrequest_urlsession.mm index 289b8f1b92..917cb1b862 100644 --- a/src/osx/webrequest_urlsession.mm +++ b/src/osx/webrequest_urlsession.mm @@ -209,7 +209,7 @@ void wxWebResponseURLSession::HandleData(WX_NSData data) ReportDataReceived(data.length); } -wxInt64 wxWebResponseURLSession::GetContentLength() const +wxFileOffset wxWebResponseURLSession::GetContentLength() const { return m_task.response.expectedContentLength; }