1 // Copyright (c) 2011 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_ADAPTER_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_THROTTLER_HEADER_ADAPTER_H_ 7 #pragma once 8 9 #include <string> 10 11 #include "base/memory/ref_counted.h" 12 #include "net/url_request/url_request_throttler_header_interface.h" 13 14 namespace net { 15 16 class HttpResponseHeaders; 17 18 // Adapter for the HTTP header interface of the URL request throttler component. 19 class URLRequestThrottlerHeaderAdapter 20 : public URLRequestThrottlerHeaderInterface { 21 public: 22 explicit URLRequestThrottlerHeaderAdapter(HttpResponseHeaders* headers); 23 virtual ~URLRequestThrottlerHeaderAdapter(); 24 25 // Implementation of URLRequestThrottlerHeaderInterface 26 virtual std::string GetNormalizedValue(const std::string& key) const; 27 virtual int GetResponseCode() const; 28 29 private: 30 const scoped_refptr<HttpResponseHeaders> response_header_; 31 }; 32 33 } // namespace net 34 35 #endif // NET_URL_REQUEST_URL_REQUEST_THROTTLER_HEADER_ADAPTER_H_ 36