Index: net/url_request/url_request_filter.h |
diff --git a/net/url_request/url_request_filter.h b/net/url_request/url_request_filter.h |
deleted file mode 100644 |
index 4366dbdff5c4e29c81a05996a867361e41c34926..0000000000000000000000000000000000000000 |
--- a/net/url_request/url_request_filter.h |
+++ /dev/null |
@@ -1,100 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-#ifndef NET_URL_REQUEST_URL_REQUEST_FILTER_H_ |
-#define NET_URL_REQUEST_URL_REQUEST_FILTER_H_ |
- |
-#include <map> |
-#include <string> |
- |
-#include "base/callback.h" |
-#include "base/containers/hash_tables.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "net/base/net_export.h" |
-#include "net/url_request/url_request.h" |
-#include "net/url_request/url_request_interceptor.h" |
- |
-class GURL; |
- |
-namespace net { |
-class URLRequestJob; |
-class URLRequestInterceptor; |
- |
-// A class to help filter URLRequest jobs based on the URL of the request |
-// rather than just the scheme. Example usage: |
-// |
-// // Intercept "scheme://host/" requests. |
-// URLRequestFilter::GetInstance()->AddHostnameInterceptor("scheme", "host", |
-// interceptor.Pass()); |
-// // Add special handling for the URL http://foo.com/ |
-// URLRequestFilter::GetInstance()->AddUrlInterceptor(GURL("http://foo.com/"), |
-// interceptor.Pass()); |
-// |
-// If the URLRequestFilter::MaybeInterceptRequest can't find a handler for a |
-// request, it returns NULL and lets the configured ProtocolHandler handle the |
-// request. |
-class NET_EXPORT URLRequestFilter : public URLRequestInterceptor { |
- public: |
- static URLRequest::ProtocolFactory Factory; |
- |
- // Singleton instance for use. |
- static URLRequestFilter* GetInstance(); |
- |
- void AddHostnameHandler(const std::string& scheme, |
- const std::string& hostname, |
- URLRequest::ProtocolFactory* factory); |
- void AddHostnameInterceptor( |
- const std::string& scheme, |
- const std::string& hostname, |
- scoped_ptr<URLRequestInterceptor> interceptor); |
- void RemoveHostnameHandler(const std::string& scheme, |
- const std::string& hostname); |
- |
- // Returns true if we successfully added the URL handler. This will replace |
- // old handlers for the URL if one existed. |
- bool AddUrlHandler(const GURL& url, |
- URLRequest::ProtocolFactory* factory); |
- bool AddUrlInterceptor(const GURL& url, |
- scoped_ptr<URLRequestInterceptor> interceptor); |
- |
- void RemoveUrlHandler(const GURL& url); |
- |
- // Clear all the existing URL handlers and unregister with the |
- // ProtocolFactory. Resets the hit count. |
- void ClearHandlers(); |
- |
- // Returns the number of times a handler was used to service a request. |
- int hit_count() const { return hit_count_; } |
- |
- // URLRequestInterceptor implementation: |
- URLRequestJob* MaybeInterceptRequest( |
- URLRequest* request, |
- NetworkDelegate* network_delegate) const override; |
- |
- private: |
- // scheme,hostname -> URLRequestInterceptor |
- typedef std::map<std::pair<std::string, std::string>, |
- URLRequestInterceptor* > HostnameInterceptorMap; |
- // URL -> URLRequestInterceptor |
- typedef base::hash_map<std::string, URLRequestInterceptor*> URLInterceptorMap; |
- |
- URLRequestFilter(); |
- ~URLRequestFilter() override; |
- |
- // Maps hostnames to interceptors. Hostnames take priority over URLs. |
- HostnameInterceptorMap hostname_interceptor_map_; |
- |
- // Maps URLs to interceptors. |
- URLInterceptorMap url_interceptor_map_; |
- |
- mutable int hit_count_; |
- |
- // Singleton instance. |
- static URLRequestFilter* shared_instance_; |
- |
- DISALLOW_COPY_AND_ASSIGN(URLRequestFilter); |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_URL_REQUEST_URL_REQUEST_FILTER_H_ |