static_http_user_agent_settings.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. #ifndef NET_URL_REQUEST_STATIC_HTTP_USER_AGENT_SETTINGS_H_
  5. #define NET_URL_REQUEST_STATIC_HTTP_USER_AGENT_SETTINGS_H_
  6. #include <string>
  7. #include "base/compiler_specific.h"
  8. #include "net/base/http_user_agent_settings.h"
  9. #include "net/base/net_export.h"
  10. namespace net {
  11. // An implementation of |HttpUserAgentSettings| that provides configured
  12. // values for the HTTP Accept-Language and User-Agent headers.
  13. class NET_EXPORT StaticHttpUserAgentSettings : public HttpUserAgentSettings {
  14. public:
  15. StaticHttpUserAgentSettings(const std::string& accept_language,
  16. const std::string& user_agent);
  17. StaticHttpUserAgentSettings(const StaticHttpUserAgentSettings&) = delete;
  18. StaticHttpUserAgentSettings& operator=(const StaticHttpUserAgentSettings&) =
  19. delete;
  20. ~StaticHttpUserAgentSettings() override;
  21. void set_accept_language(const std::string& new_accept_language) {
  22. accept_language_ = new_accept_language;
  23. }
  24. // HttpUserAgentSettings implementation
  25. std::string GetAcceptLanguage() const override;
  26. std::string GetUserAgent() const override;
  27. private:
  28. std::string accept_language_;
  29. const std::string user_agent_;
  30. };
  31. } // namespace net
  32. #endif // NET_URL_REQUEST_STATIC_HTTP_USER_AGENT_SETTINGS_H_