1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| #include <include/cef_urlrequest.h>
class UrlRequestClient;
int main() { CefRequest::HeaderMap headers; headers.insert(std::make_pair("Accept", "*/*")); auto req = CefRequest::Create(); req->SetMethod("GET"); req->SetURL("http://localhost:8080/api/test"); req->GetHeaderMap(headers);
auto client = CefRefPtr<UrlRequestClient>(new UrlRequestClient()); CefURLRequest::Create(req, client, nullptr); return 0; }
class UrlRequestClient : public CefURLRequestClient { public: UrlRequestClient() = default;
void OnDownloadData(CefRefPtr<CefURLRequest> request, const void* data, size_t data_length) override { m_data += std::string(static_cast<const char*>(data), data_length); }
bool GetAuthCredentials(bool isProxy, const CefString& host, int port, const CefString& realm, const CefString& scheme, CefRefPtr<CefAuthCallback> callback) override { return false; }
void OnDownloadProgress(CefRefPtr<CefURLRequest> request, int64 current, int64 total) override {} void OnUploadProgress(CefRefPtr<CefURLRequest> request, int64 current, int64 total) override {} void OnRequestComplete(CefRefPtr<CefURLRequest> request) override { std::cout << m_data << std::endl; }
private: std::string m_data;
IMPLEMENT_REFCOUNTING(UrlRequestClient); };
|