forked from cztomczak/cefpython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathresource_handler.cpp
More file actions
86 lines (79 loc) · 3.11 KB
/
resource_handler.cpp
File metadata and controls
86 lines (79 loc) · 3.11 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Copyright (c) 2012-2014 The CEF Python authors. All rights reserved.
// License: New BSD License.
// Website: http://code.google.com/p/cefpython/
#include "resource_handler.h"
///
// Begin processing the request. To handle the request return true and call
// CefCallback::Continue() once the response header information is available
// (CefCallback::Continue() can also be called from inside this method if
// header information is available immediately). To cancel the request return
// false.
///
/*--cef()--*/
bool ResourceHandler::ProcessRequest(CefRefPtr<CefRequest> request,
CefRefPtr<CefCallback> callback) {
REQUIRE_IO_THREAD();
return ResourceHandler_ProcessRequest(resourceHandlerId_, request,
callback);
}
///
// Retrieve response header information. If the response length is not known
// set |response_length| to -1 and ReadResponse() will be called until it
// returns false. If the response length is known set |response_length|
// to a positive value and ReadResponse() will be called until it returns
// false or the specified number of bytes have been read. Use the |response|
// object to set the mime type, http status code and other optional header
// values. To redirect the request to a new URL set |redirectUrl| to the new
// URL.
///
/*--cef()--*/
void ResourceHandler::GetResponseHeaders(CefRefPtr<CefResponse> response,
int64& response_length,
CefString& redirectUrl) {
REQUIRE_IO_THREAD();
ResourceHandler_GetResponseHeaders(resourceHandlerId_, response,
response_length, redirectUrl);
}
///
// Read response data. If data is available immediately copy up to
// |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of
// bytes copied, and return true. To read the data at a later time set
// |bytes_read| to 0, return true and call CefCallback::Continue() when the
// data is available. To indicate response completion return false.
///
/*--cef()--*/
bool ResourceHandler::ReadResponse(void* data_out,
int bytes_to_read,
int& bytes_read,
CefRefPtr<CefCallback> callback) {
REQUIRE_IO_THREAD();
return ResourceHandler_ReadResponse(resourceHandlerId_, data_out,
bytes_to_read, bytes_read, callback);
}
///
// Return true if the specified cookie can be sent with the request or false
// otherwise. If false is returned for any cookie then no cookies will be sent
// with the request.
///
/*--cef()--*/
bool ResourceHandler::CanGetCookie(const CefCookie& cookie) {
REQUIRE_IO_THREAD();
return ResourceHandler_CanGetCookie(resourceHandlerId_, cookie);
}
///
// Return true if the specified cookie returned with the response can be set
// or false otherwise.
///
/*--cef()--*/
bool ResourceHandler::CanSetCookie(const CefCookie& cookie) {
REQUIRE_IO_THREAD();
return ResourceHandler_CanSetCookie(resourceHandlerId_, cookie);
}
///
// Request processing has been canceled.
///
/*--cef()--*/
void ResourceHandler::Cancel() {
REQUIRE_IO_THREAD();
return ResourceHandler_Cancel(resourceHandlerId_);
}