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

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: Addressed comments from Peter 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 auto& pair : responses) {
29 response_map.insert(std::make_pair(
30 pair.first, HtmlResponseProviderImpl::Response(
31 pair.second.second, headers.at(pair.first))));
32 }
33 return response_map;
34 }
35
23 } // namespace 36 } // namespace
24 37
25 HtmlResponseProviderImpl::Response::Response( 38 HtmlResponseProviderImpl::Response::Response(
26 const std::string& body, 39 const std::string& body,
27 const scoped_refptr<net::HttpResponseHeaders>& headers) 40 const scoped_refptr<net::HttpResponseHeaders>& headers)
28 : body(body), headers(headers) {} 41 : body(body), headers(headers) {}
29 42
30 HtmlResponseProviderImpl::Response::Response(const Response& response) 43 HtmlResponseProviderImpl::Response::Response(const Response& response)
31 : body(response.body), headers(response.headers) {} 44 : body(response.body), headers(response.headers) {}
32 45
(...skipping 21 matching lines...) Expand all
54 return HtmlResponseProviderImpl::Response(body, response_headers); 67 return HtmlResponseProviderImpl::Response(body, response_headers);
55 } 68 }
56 69
57 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 70 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
58 const std::map<GURL, std::string>& responses) 71 const std::map<GURL, std::string>& responses)
59 : responses_(BuildResponseMap( 72 : responses_(BuildResponseMap(
60 responses, 73 responses,
61 web::ResponseProvider::GetDefaultResponseHeaders())) {} 74 web::ResponseProvider::GetDefaultResponseHeaders())) {}
62 75
63 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 76 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
64 const std::map<GURL, std::string>& responses, 77 const std::map<GURL, std::pair<std::string, std::string>>& responses)
65 const std::string& cookie)
66 : responses_(BuildResponseMap( 78 : responses_(BuildResponseMap(
67 responses, 79 responses,
68 web::ResponseProvider::GetDefaultResponseHeaders(cookie))) {} 80 web::ResponseProvider::GetDefaultResponseHeaders(responses))) {}
69 81
70 HtmlResponseProviderImpl::HtmlResponseProviderImpl( 82 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
71 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses) 83 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses)
72 : responses_(responses) {} 84 : responses_(responses) {}
73 85
74 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {} 86 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {}
75 87
76 bool HtmlResponseProviderImpl::CanHandleRequest( 88 bool HtmlResponseProviderImpl::CanHandleRequest(
77 const web::ResponseProvider::Request& request) { 89 const web::ResponseProvider::Request& request) {
78 return responses_.find(request.url) != responses_.end(); 90 return responses_.find(request.url) != responses_.end();
79 } 91 }
80 92
81 void HtmlResponseProviderImpl::GetResponseHeadersAndBody( 93 void HtmlResponseProviderImpl::GetResponseHeadersAndBody(
82 const web::ResponseProvider::Request& request, 94 const web::ResponseProvider::Request& request,
83 scoped_refptr<net::HttpResponseHeaders>* headers, 95 scoped_refptr<net::HttpResponseHeaders>* headers,
84 std::string* response_body) { 96 std::string* response_body) {
85 const Response& response = responses_.at(request.url); 97 const Response& response = responses_.at(request.url);
86 *headers = response.headers; 98 *headers = response.headers;
87 *response_body = response.body; 99 *response_body = response.body;
88 } 100 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698