Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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;
}
Exemplo n.º 5
0
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;
}
Exemplo n.º 6
0
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;
}