Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1433)

Side by Side Diff: ios/web/public/test/response_providers/html_response_provider_impl.mm

Issue 2291393003: Add capability to simple http server to bound Set-Cookie to URLs. (Closed)
Patch Set: Update comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ios/web/public/test/response_providers/html_response_provider_impl.h" 5 #include "ios/web/public/test/response_providers/html_response_provider_impl.h"
6 6
7 #include "ios/web/public/test/response_providers/response_provider.h" 7 #include "ios/web/public/test/response_providers/response_provider.h"
8 #include "net/http/http_response_headers.h" 8 #include "net/http/http_response_headers.h"
9 #include "net/http/http_status_code.h" 9 #include "net/http/http_status_code.h"
10 #include "url/gurl.h" 10 #include "url/gurl.h"
11 11
12 namespace { 12 namespace {
13 std::map<GURL, HtmlResponseProviderImpl::Response> BuildResponseMap( 13 std::map<GURL, HtmlResponseProviderImpl::Response> BuildResponseMap(
14 const std::map<GURL, std::string>& responses_body, 14 const std::map<GURL, std::string>& responses_body,
15 scoped_refptr<net::HttpResponseHeaders> headers) { 15 scoped_refptr<net::HttpResponseHeaders> headers) {
16 std::map<GURL, HtmlResponseProviderImpl::Response> responses; 16 std::map<GURL, HtmlResponseProviderImpl::Response> responses;
17 for (const std::pair<const GURL, std::string>& pair : responses_body) { 17 for (const std::pair<const GURL, std::string>& pair : responses_body) {
18 responses.insert(std::make_pair( 18 responses.insert(std::make_pair(
19 pair.first, HtmlResponseProviderImpl::Response(pair.second, headers))); 19 pair.first, HtmlResponseProviderImpl::Response(pair.second, headers)));
20 } 20 }
21 return responses; 21 return responses;
22 } 22 }
23
24 std::map<GURL, HtmlResponseProviderImpl::Response> BuildResponseMap(
25 const std::map<GURL, std::pair<std::string, std::string>>& responses,
26 const std::map<GURL, scoped_refptr<net::HttpResponseHeaders>>& headers) {
27 std::map<GURL, HtmlResponseProviderImpl::Response> response_map;
28 for (const std::pair<const GURL, std::pair<std::string, std::string>>& pair :
pkl (ping after 24h if needed) 2016/09/01 00:18:15 Can auto type make this for loop more readable? f
29 responses) {
30 response_map.insert(std::make_pair(
31 pair.first, HtmlResponseProviderImpl::Response(
32 pair.second.second, headers.at(pair.first))));
33 }
34 return response_map;
35 }
36
23 } // namespace 37 } // namespace
24 38
25 HtmlResponseProviderImpl::Response::Response( 39 HtmlResponseProviderImpl::Response::Response(
26 const std::string& body, 40 const std::string& body,
27 const scoped_refptr<net::HttpResponseHeaders>& headers) 41 const scoped_refptr<net::HttpResponseHeaders>& headers)
28 : body(body), headers(headers) {} 42 : body(body), headers(headers) {}
29 43
30 HtmlResponseProviderImpl::Response::Response(const Response& response) 44 HtmlResponseProviderImpl::Response::Response(const Response& response)
31 : body(response.body), headers(response.headers) {} 45 : body(response.body), headers(response.headers) {}
32 46
(...skipping 21 matching lines...) Expand all
54 return HtmlResponseProviderImpl::Response(body, response_headers); 68 return HtmlResponseProviderImpl::Response(body, response_headers);
55 } 69 }
56 70
57 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 71 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
58 const std::map<GURL, std::string>& responses) 72 const std::map<GURL, std::string>& responses)
59 : responses_(BuildResponseMap( 73 : responses_(BuildResponseMap(
60 responses, 74 responses,
61 web::ResponseProvider::GetDefaultResponseHeaders())) {} 75 web::ResponseProvider::GetDefaultResponseHeaders())) {}
62 76
63 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 77 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
64 const std::map<GURL, std::string>& responses, 78 const std::map<GURL, std::pair<std::string, std::string>>& responses)
65 const std::string& cookie)
66 : responses_(BuildResponseMap( 79 : responses_(BuildResponseMap(
67 responses, 80 responses,
68 web::ResponseProvider::GetDefaultResponseHeaders(cookie))) {} 81 web::ResponseProvider::GetDefaultResponseHeaders(responses))) {}
69 82
70 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 83 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
71 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses) 84 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses)
72 : responses_(responses) {} 85 : responses_(responses) {}
73 86
74 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {} 87 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {}
75 88
76 bool HtmlResponseProviderImpl::CanHandleRequest( 89 bool HtmlResponseProviderImpl::CanHandleRequest(
77 const web::ResponseProvider::Request& request) { 90 const web::ResponseProvider::Request& request) {
78 return responses_.find(request.url) != responses_.end(); 91 return responses_.find(request.url) != responses_.end();
79 } 92 }
80 93
81 void HtmlResponseProviderImpl::GetResponseHeadersAndBody( 94 void HtmlResponseProviderImpl::GetResponseHeadersAndBody(
82 const web::ResponseProvider::Request& request, 95 const web::ResponseProvider::Request& request,
83 scoped_refptr<net::HttpResponseHeaders>* headers, 96 scoped_refptr<net::HttpResponseHeaders>* headers,
84 std::string* response_body) { 97 std::string* response_body) {
85 const Response& response = responses_.at(request.url); 98 const Response& response = responses_.at(request.url);
86 *headers = response.headers; 99 *headers = response.headers;
87 *response_body = response.body; 100 *response_body = response.body;
88 } 101 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698