bool wxCurlHTTP::Put(wxInputStream& buffer, const wxString& szRemoteFile /*= wxEmptyString*/) { curl_off_t iSize = 0; if(m_pCURL && buffer.IsOk()) { SetCurlHandleToDefaults(szRemoteFile); iSize = buffer.GetSize(); if(iSize == (~(size_t)0)) // wxCurlHTTP does not know how to upload unknown length streams. return false; SetOpt(CURLOPT_UPLOAD, TRUE); SetOpt(CURLOPT_PUT, TRUE); SetStreamReadFunction(buffer); SetOpt(CURLOPT_INFILESIZE_LARGE, (curl_off_t)iSize); SetStringWriteFunction(m_szResponseBody); if(Perform()) { return IsResponseOk(); } } return false; }
bool wxCurlHTTP::Trace(const wxString& szRemoteFile /*= wxEmptyString*/) { if(m_pCURL) { SetCurlHandleToDefaults(szRemoteFile); m_arrHeaders.Add(wxT("Content-type: message/http")); SetHeaders(); SetOpt(CURLOPT_CUSTOMREQUEST, "TRACE"); SetStringWriteFunction(m_szResponseBody); if(Perform()) { ResetHeaders(); return IsResponseOk(); } ResetHeaders(); } return false; }
bool wxCurlHTTP::Delete(const wxString& szRemoteLoc /*= wxEmptyString*/) { if(m_pCURL) { SetCurlHandleToDefaults(szRemoteLoc); SetOpt(CURLOPT_CUSTOMREQUEST, "DELETE"); SetStringWriteFunction(m_szResponseBody); if(Perform()) { return IsResponseOk(); } } return false; }
bool wxCurlFTP::Nlst(const wxString& szRemoteLoc /*= wxEmptyString*/) { if(m_pCURL) { SetCurlHandleToDefaults(szRemoteLoc); SetOpt(CURLOPT_CUSTOMREQUEST, "NLST"); SetStringWriteFunction(m_szResponseBody); if(Perform()) { return ((m_iResponseCode > 199) && (m_iResponseCode < 300)); } } return false; }
bool wxCurlFTP::Info(const wxString& szRemoteLoc /*= wxEmptyString*/) { if(m_pCURL) { SetCurlHandleToDefaults(szRemoteLoc); SetOpt(CURLOPT_HEADER, TRUE); SetOpt(CURLOPT_NOBODY, TRUE); SetStringWriteFunction(m_szResponseBody); if(Perform()) { return ((m_iResponseCode > 199) && (m_iResponseCode < 299)); } } return false; }
bool wxCurlHTTP::Post(const wxString& szRemoteFile /*= wxEmptyString*/) { if(m_pCURL && m_pPostHead && m_pPostTail) { SetCurlHandleToDefaults(szRemoteFile); SetOpt(CURLOPT_POST, TRUE); SetOpt(CURLOPT_HTTPPOST, m_pPostHead); SetStringWriteFunction(m_szResponseBody); if(Perform()) { return IsResponseOk(); } } return false; }