1 // Copyright (c) 2010 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 #ifndef NET_URL_REQUEST_URL_REQUEST_THROTTLER_HEADER_INTERFACE_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_THROTTLER_HEADER_INTERFACE_H_ 7 8 #include <string> 9 10 namespace net { 11 12 // Interface to an HTTP header to enforce we have the methods we need. 13 class URLRequestThrottlerHeaderInterface { 14 public: 15 virtual ~URLRequestThrottlerHeaderInterface() {} 16 17 // Method that enables us to fetch the header value by its key. 18 // ex: location: www.example.com -> key = "location" value = "www.example.com" 19 // If the key does not exist, it returns an empty string. 20 virtual std::string GetNormalizedValue(const std::string& key) const = 0; 21 22 // Returns the HTTP response code associated with the request. 23 virtual int GetResponseCode() const = 0; 24 }; 25 26 } // namespace net 27 28 #endif // NET_URL_REQUEST_URL_REQUEST_THROTTLER_HEADER_INTERFACE_H_ 29