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. 4 5 #include "net/base/network_delegate.h" 6 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" 11 12 namespace net { 13 14 int NetworkDelegate::NotifyBeforeURLRequest( 15 URLRequest* request, const CompletionCallback& callback, 16 GURL* new_url) { 17 DCHECK(CalledOnValidThread()); 18 DCHECK(request); 19 DCHECK(!callback.is_null()); 20 return OnBeforeURLRequest(request, callback, new_url); 21 } 22 23 int NetworkDelegate::NotifyBeforeSendHeaders( 24 URLRequest* request, const CompletionCallback& callback, 25 HttpRequestHeaders* headers) { 26 DCHECK(CalledOnValidThread()); 27 DCHECK(headers); 28 DCHECK(!callback.is_null()); 29 return OnBeforeSendHeaders(request, callback, headers); 30 } 31 32 void NetworkDelegate::NotifySendHeaders(URLRequest* request, 33 const HttpRequestHeaders& headers) { 34 DCHECK(CalledOnValidThread()); 35 OnSendHeaders(request, headers); 36 } 37 38 int NetworkDelegate::NotifyHeadersReceived( 39 URLRequest* request, 40 const CompletionCallback& callback, 41 const HttpResponseHeaders* original_response_headers, 42 scoped_refptr<HttpResponseHeaders>* override_response_headers, 43 GURL* allowed_unsafe_redirect_url) { 44 DCHECK(CalledOnValidThread()); 45 DCHECK(original_response_headers); 46 DCHECK(!callback.is_null()); 47 return OnHeadersReceived(request, 48 callback, 49 original_response_headers, 50 override_response_headers, 51 allowed_unsafe_redirect_url); 52 } 53 54 void NetworkDelegate::NotifyResponseStarted(URLRequest* request) { 55 DCHECK(CalledOnValidThread()); 56 DCHECK(request); 57 OnResponseStarted(request); 58 } 59 60 void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request, 61 int bytes_read) { 62 DCHECK(CalledOnValidThread()); 63 OnRawBytesRead(request, bytes_read); 64 } 65 66 void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request, 67 const GURL& new_location) { 68 DCHECK(CalledOnValidThread()); 69 DCHECK(request); 70 OnBeforeRedirect(request, new_location); 71 } 72 73 void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) { 74 DCHECK(CalledOnValidThread()); 75 DCHECK(request); 76 OnCompleted(request, started); 77 } 78 79 void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) { 80 DCHECK(CalledOnValidThread()); 81 DCHECK(request); 82 OnURLRequestDestroyed(request); 83 } 84 85 void NetworkDelegate::NotifyPACScriptError(int line_number, 86 const base::string16& error) { 87 DCHECK(CalledOnValidThread()); 88 OnPACScriptError(line_number, error); 89 } 90 91 NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired( 92 URLRequest* request, 93 const AuthChallengeInfo& auth_info, 94 const AuthCallback& callback, 95 AuthCredentials* credentials) { 96 DCHECK(CalledOnValidThread()); 97 return OnAuthRequired(request, auth_info, callback, credentials); 98 } 99 100 int NetworkDelegate::NotifyBeforeSocketStreamConnect( 101 SocketStream* socket, 102 const CompletionCallback& callback) { 103 DCHECK(CalledOnValidThread()); 104 DCHECK(socket); 105 DCHECK(!callback.is_null()); 106 return OnBeforeSocketStreamConnect(socket, callback); 107 } 108 109 bool NetworkDelegate::CanGetCookies(const URLRequest& request, 110 const CookieList& cookie_list) { 111 DCHECK(CalledOnValidThread()); 112 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES)); 113 return OnCanGetCookies(request, cookie_list); 114 } 115 116 bool NetworkDelegate::CanSetCookie(const URLRequest& request, 117 const std::string& cookie_line, 118 CookieOptions* options) { 119 DCHECK(CalledOnValidThread()); 120 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES)); 121 return OnCanSetCookie(request, cookie_line, options); 122 } 123 124 bool NetworkDelegate::CanAccessFile(const URLRequest& request, 125 const base::FilePath& path) const { 126 DCHECK(CalledOnValidThread()); 127 return OnCanAccessFile(request, path); 128 } 129 130 bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const { 131 DCHECK(CalledOnValidThread()); 132 return OnCanThrottleRequest(request); 133 } 134 135 bool NetworkDelegate::CanEnablePrivacyMode( 136 const GURL& url, 137 const GURL& first_party_for_cookies) const { 138 DCHECK(CalledOnValidThread()); 139 return OnCanEnablePrivacyMode(url, first_party_for_cookies); 140 } 141 142 int NetworkDelegate::OnBeforeURLRequest(URLRequest* request, 143 const CompletionCallback& callback, 144 GURL* new_url) { 145 return OK; 146 } 147 148 int NetworkDelegate::OnBeforeSendHeaders(URLRequest* request, 149 const CompletionCallback& callback, 150 HttpRequestHeaders* headers) { 151 return OK; 152 } 153 154 void NetworkDelegate::OnSendHeaders(URLRequest* request, 155 const HttpRequestHeaders& headers) { 156 } 157 158 int NetworkDelegate::OnHeadersReceived( 159 URLRequest* request, 160 const CompletionCallback& callback, 161 const HttpResponseHeaders* original_response_headers, 162 scoped_refptr<HttpResponseHeaders>* override_response_headers, 163 GURL* allowed_unsafe_redirect_url) { 164 return OK; 165 } 166 167 void NetworkDelegate::OnBeforeRedirect(URLRequest* request, 168 const GURL& new_location) { 169 } 170 171 void NetworkDelegate::OnResponseStarted(URLRequest* request) { 172 } 173 174 void NetworkDelegate::OnRawBytesRead(const URLRequest& request, 175 int bytes_read) { 176 } 177 178 void NetworkDelegate::OnCompleted(URLRequest* request, bool started) { 179 } 180 181 void NetworkDelegate::OnURLRequestDestroyed(URLRequest* request) { 182 } 183 184 void NetworkDelegate::OnPACScriptError(int line_number, 185 const base::string16& error) { 186 } 187 188 NetworkDelegate::AuthRequiredResponse NetworkDelegate::OnAuthRequired( 189 URLRequest* request, 190 const AuthChallengeInfo& auth_info, 191 const AuthCallback& callback, 192 AuthCredentials* credentials) { 193 return AUTH_REQUIRED_RESPONSE_NO_ACTION; 194 } 195 196 bool NetworkDelegate::OnCanGetCookies(const URLRequest& request, 197 const CookieList& cookie_list) { 198 return true; 199 } 200 201 bool NetworkDelegate::OnCanSetCookie(const URLRequest& request, 202 const std::string& cookie_line, 203 CookieOptions* options) { 204 return true; 205 } 206 207 bool NetworkDelegate::OnCanAccessFile(const URLRequest& request, 208 const base::FilePath& path) const { 209 return false; 210 } 211 212 bool NetworkDelegate::OnCanThrottleRequest(const URLRequest& request) const { 213 return false; 214 } 215 216 bool NetworkDelegate::OnCanEnablePrivacyMode( 217 const GURL& url, 218 const GURL& first_party_for_cookies) const { 219 return false; 220 } 221 222 int NetworkDelegate::OnBeforeSocketStreamConnect( 223 SocketStream* socket, 224 const CompletionCallback& callback) { 225 return OK; 226 } 227 228 } // namespace net 229