1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "net/base/network_delegate.h"
7 #include "base/logging.h"
8 #include "net/base/load_flags.h"
9 #include "net/base/net_errors.h"
10 #include "net/url_request/url_request.h"
14 int NetworkDelegate::NotifyBeforeURLRequest(
15 URLRequest* request, const CompletionCallback& callback,
17 DCHECK(CalledOnValidThread());
19 DCHECK(!callback.is_null());
20 return OnBeforeURLRequest(request, callback, new_url);
23 int NetworkDelegate::NotifyBeforeSendHeaders(
24 URLRequest* request, const CompletionCallback& callback,
25 HttpRequestHeaders* headers) {
26 DCHECK(CalledOnValidThread());
28 DCHECK(!callback.is_null());
29 return OnBeforeSendHeaders(request, callback, headers);
32 void NetworkDelegate::NotifySendHeaders(URLRequest* request,
33 const HttpRequestHeaders& headers) {
34 DCHECK(CalledOnValidThread());
35 OnSendHeaders(request, headers);
38 int NetworkDelegate::NotifyHeadersReceived(
40 const CompletionCallback& callback,
41 const HttpResponseHeaders* original_response_headers,
42 scoped_refptr<HttpResponseHeaders>* override_response_headers) {
43 DCHECK(CalledOnValidThread());
44 DCHECK(original_response_headers);
45 DCHECK(!callback.is_null());
46 return OnHeadersReceived(request, callback, original_response_headers,
47 override_response_headers);
50 void NetworkDelegate::NotifyResponseStarted(URLRequest* request) {
51 DCHECK(CalledOnValidThread());
53 OnResponseStarted(request);
56 void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request,
58 DCHECK(CalledOnValidThread());
59 OnRawBytesRead(request, bytes_read);
62 void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request,
63 const GURL& new_location) {
64 DCHECK(CalledOnValidThread());
66 OnBeforeRedirect(request, new_location);
69 void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) {
70 DCHECK(CalledOnValidThread());
72 OnCompleted(request, started);
75 void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) {
76 DCHECK(CalledOnValidThread());
78 OnURLRequestDestroyed(request);
81 void NetworkDelegate::NotifyPACScriptError(int line_number,
82 const base::string16& error) {
83 DCHECK(CalledOnValidThread());
84 OnPACScriptError(line_number, error);
87 NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired(
89 const AuthChallengeInfo& auth_info,
90 const AuthCallback& callback,
91 AuthCredentials* credentials) {
92 DCHECK(CalledOnValidThread());
93 return OnAuthRequired(request, auth_info, callback, credentials);
96 int NetworkDelegate::NotifyBeforeSocketStreamConnect(
98 const CompletionCallback& callback) {
99 DCHECK(CalledOnValidThread());
101 DCHECK(!callback.is_null());
102 return OnBeforeSocketStreamConnect(socket, callback);
105 void NetworkDelegate::NotifyRequestWaitStateChange(const URLRequest& request,
106 RequestWaitState state) {
107 DCHECK(CalledOnValidThread());
108 OnRequestWaitStateChange(request, state);
111 bool NetworkDelegate::CanGetCookies(const URLRequest& request,
112 const CookieList& cookie_list) {
113 DCHECK(CalledOnValidThread());
114 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES));
115 return OnCanGetCookies(request, cookie_list);
118 bool NetworkDelegate::CanSetCookie(const URLRequest& request,
119 const std::string& cookie_line,
120 CookieOptions* options) {
121 DCHECK(CalledOnValidThread());
122 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES));
123 return OnCanSetCookie(request, cookie_line, options);
126 bool NetworkDelegate::CanAccessFile(const URLRequest& request,
127 const base::FilePath& path) const {
128 DCHECK(CalledOnValidThread());
129 return OnCanAccessFile(request, path);
132 bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const {
133 DCHECK(CalledOnValidThread());
134 return OnCanThrottleRequest(request);
137 bool NetworkDelegate::CanEnablePrivacyMode(
139 const GURL& first_party_for_cookies) const {
140 DCHECK(CalledOnValidThread());
141 return OnCanEnablePrivacyMode(url, first_party_for_cookies);
144 int NetworkDelegate::OnBeforeURLRequest(URLRequest* request,
145 const CompletionCallback& callback,
150 int NetworkDelegate::OnBeforeSendHeaders(URLRequest* request,
151 const CompletionCallback& callback,
152 HttpRequestHeaders* headers) {
156 void NetworkDelegate::OnSendHeaders(URLRequest* request,
157 const HttpRequestHeaders& headers) {
160 int NetworkDelegate::OnHeadersReceived(
162 const CompletionCallback& callback,
163 const HttpResponseHeaders* original_response_headers,
164 scoped_refptr<HttpResponseHeaders>* override_response_headers) {
168 void NetworkDelegate::OnBeforeRedirect(URLRequest* request,
169 const GURL& new_location) {
172 void NetworkDelegate::OnResponseStarted(URLRequest* request) {
175 void NetworkDelegate::OnRawBytesRead(const URLRequest& request,
179 void NetworkDelegate::OnCompleted(URLRequest* request, bool started) {
182 void NetworkDelegate::OnURLRequestDestroyed(URLRequest* request) {
185 void NetworkDelegate::OnPACScriptError(int line_number,
186 const base::string16& error) {
189 NetworkDelegate::AuthRequiredResponse NetworkDelegate::OnAuthRequired(
191 const AuthChallengeInfo& auth_info,
192 const AuthCallback& callback,
193 AuthCredentials* credentials) {
194 return AUTH_REQUIRED_RESPONSE_NO_ACTION;
197 bool NetworkDelegate::OnCanGetCookies(const URLRequest& request,
198 const CookieList& cookie_list) {
202 bool NetworkDelegate::OnCanSetCookie(const URLRequest& request,
203 const std::string& cookie_line,
204 CookieOptions* options) {
208 bool NetworkDelegate::OnCanAccessFile(const URLRequest& request,
209 const base::FilePath& path) const {
213 bool NetworkDelegate::OnCanThrottleRequest(const URLRequest& request) const {
217 bool NetworkDelegate::OnCanEnablePrivacyMode(
219 const GURL& first_party_for_cookies) const {
223 int NetworkDelegate::OnBeforeSocketStreamConnect(
224 SocketStream* socket,
225 const CompletionCallback& callback) {
229 void NetworkDelegate::OnRequestWaitStateChange(const URLRequest& request,
230 RequestWaitState state) {