146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "mojo/services/network/network_context.h" 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/base_paths.h" 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/path_service.h" 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "net/proxy/proxy_service.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "net/url_request/url_request_context.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "net/url_request/url_request_context_builder.h" 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace mojo { 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 15116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkContext::NetworkContext(const base::FilePath& base_path) { 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::URLRequestContextBuilder builder; 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.set_accept_language("en-us,en"); 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // TODO(darin): This is surely the wrong UA string. 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.set_user_agent("Mojo/0.1"); 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.set_proxy_service(net::ProxyService::CreateDirect()); 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.set_transport_security_persister_path(base_path); 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::URLRequestContextBuilder::HttpCacheParams cache_params; 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch cache_params.path = base_path.Append(FILE_PATH_LITERAL("Cache")); 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::DISK; 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.EnableHttpCache(cache_params); 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder.set_file_enabled(true); 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch url_request_context_.reset(builder.Build()); 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)NetworkContext::~NetworkContext() { 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // TODO(darin): Be careful about destruction order of member variables? 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace mojo 38