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 10namespace net { 11 12// Interface to an HTTP header to enforce we have the methods we need. 13class 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