Remove wxWebResponse::AsString() conversion parameter
It doesn't make much sense to specify the conversion here, it would ideally be taken from the response Content-Type header itself and currently is just assumed to be UTF-8 anyhow. Also implement fallback to Latin-1 to avoid losing the data entirely if it's not in UTF-8.
This commit is contained in:
@@ -152,7 +152,7 @@ public:
|
|||||||
|
|
||||||
virtual wxString GetSuggestedFileName() const;
|
virtual wxString GetSuggestedFileName() const;
|
||||||
|
|
||||||
wxString AsString(wxMBConv* conv = NULL) const;
|
wxString AsString() const;
|
||||||
|
|
||||||
bool Init();
|
bool Init();
|
||||||
|
|
||||||
|
@@ -450,11 +450,9 @@ public:
|
|||||||
/**
|
/**
|
||||||
Returns all response data as a string.
|
Returns all response data as a string.
|
||||||
|
|
||||||
@param conv wxMBConv used to convert the response to a string.
|
This is mostly useful for debugging or diagnostics.
|
||||||
If @c NULL, the conversion will be determined by
|
|
||||||
response headers. The default is UTF-8.
|
|
||||||
*/
|
*/
|
||||||
wxString AsString(wxMBConv* conv = NULL) const;
|
wxString AsString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -345,16 +345,13 @@ wxString wxWebResponse::GetSuggestedFileName() const
|
|||||||
return suggestedFilename;
|
return suggestedFilename;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString wxWebResponse::AsString(wxMBConv * conv) const
|
wxString wxWebResponse::AsString() const
|
||||||
{
|
{
|
||||||
// TODO: try to determine encoding type from content-type header
|
|
||||||
if ( !conv )
|
|
||||||
conv = &wxConvUTF8;
|
|
||||||
|
|
||||||
if ( m_request.GetStorage() == wxWebRequest::Storage_Memory )
|
if ( m_request.GetStorage() == wxWebRequest::Storage_Memory )
|
||||||
{
|
{
|
||||||
|
// TODO: try to determine encoding type from content-type header
|
||||||
size_t outLen = 0;
|
size_t outLen = 0;
|
||||||
return conv->cMB2WC((const char*)m_readBuffer.GetData(), m_readBuffer.GetDataLen(), &outLen);
|
return wxConvWhateverWorks.cMB2WC((const char*)m_readBuffer.GetData(), m_readBuffer.GetDataLen(), &outLen);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return wxString();
|
return wxString();
|
||||||
|
Reference in New Issue
Block a user