| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #import "ios/web/public/test/response_providers/html_response_provider_impl.h" |  | 
| 6 |  | 
| 7 #import "ios/web/public/test/response_providers/response_provider.h" |  | 
| 8 #include "net/http/http_response_headers.h" |  | 
| 9 #include "net/http/http_status_code.h" |  | 
| 10 #include "url/gurl.h" |  | 
| 11 |  | 
| 12 namespace { |  | 
| 13 std::map<GURL, HtmlResponseProviderImpl::Response> BuildResponseMap( |  | 
| 14     const std::map<GURL, std::string>& responses_body, |  | 
| 15     scoped_refptr<net::HttpResponseHeaders> headers) { |  | 
| 16   std::map<GURL, HtmlResponseProviderImpl::Response> responses; |  | 
| 17   for (const std::pair<const GURL, std::string>& pair : responses_body) { |  | 
| 18     responses.insert(std::make_pair( |  | 
| 19         pair.first, HtmlResponseProviderImpl::Response(pair.second, headers))); |  | 
| 20   } |  | 
| 21   return responses; |  | 
| 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 |  | 
| 36 }  // namespace |  | 
| 37 |  | 
| 38 HtmlResponseProviderImpl::Response::Response( |  | 
| 39     const std::string& body, |  | 
| 40     const scoped_refptr<net::HttpResponseHeaders>& headers) |  | 
| 41     : body(body), headers(headers) {} |  | 
| 42 |  | 
| 43 HtmlResponseProviderImpl::Response::Response(const Response& response) |  | 
| 44     : body(response.body), headers(response.headers) {} |  | 
| 45 |  | 
| 46 HtmlResponseProviderImpl::Response::Response() : body(), headers() {} |  | 
| 47 |  | 
| 48 HtmlResponseProviderImpl::Response::~Response() {} |  | 
| 49 |  | 
| 50 HtmlResponseProviderImpl::HtmlResponseProviderImpl() : responses_() {} |  | 
| 51 |  | 
| 52 // static |  | 
| 53 HtmlResponseProviderImpl::Response |  | 
| 54 HtmlResponseProviderImpl::GetRedirectResponse( |  | 
| 55     const GURL& destination_url, |  | 
| 56     const net::HttpStatusCode& http_status) { |  | 
| 57   auto response_headers = web::ResponseProvider::GetRedirectResponseHeaders( |  | 
| 58       destination_url.spec(), http_status); |  | 
| 59   return HtmlResponseProviderImpl::Response("", response_headers); |  | 
| 60 } |  | 
| 61 |  | 
| 62 // static |  | 
| 63 HtmlResponseProviderImpl::Response HtmlResponseProviderImpl::GetSimpleResponse( |  | 
| 64     const std::string& body) { |  | 
| 65   auto response_headers = |  | 
| 66       web::ResponseProvider::GetResponseHeaders("text/html", net::HTTP_OK); |  | 
| 67   return HtmlResponseProviderImpl::Response(body, response_headers); |  | 
| 68 } |  | 
| 69 |  | 
| 70 HtmlResponseProviderImpl::HtmlResponseProviderImpl( |  | 
| 71     const std::map<GURL, std::string>& responses) |  | 
| 72     : responses_(BuildResponseMap( |  | 
| 73           responses, |  | 
| 74           web::ResponseProvider::GetDefaultResponseHeaders())) {} |  | 
| 75 |  | 
| 76 HtmlResponseProviderImpl::HtmlResponseProviderImpl( |  | 
| 77     const std::map<GURL, std::pair<std::string, std::string>>& responses) |  | 
| 78     : responses_(BuildResponseMap( |  | 
| 79           responses, |  | 
| 80           web::ResponseProvider::GetDefaultResponseHeaders(responses))) {} |  | 
| 81 |  | 
| 82 HtmlResponseProviderImpl::HtmlResponseProviderImpl( |  | 
| 83     const std::map<GURL, HtmlResponseProviderImpl::Response>& responses) |  | 
| 84     : responses_(responses) {} |  | 
| 85 |  | 
| 86 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {} |  | 
| 87 |  | 
| 88 bool HtmlResponseProviderImpl::CanHandleRequest( |  | 
| 89     const web::ResponseProvider::Request& request) { |  | 
| 90   return responses_.find(request.url) != responses_.end(); |  | 
| 91 } |  | 
| 92 |  | 
| 93 void HtmlResponseProviderImpl::GetResponseHeadersAndBody( |  | 
| 94     const web::ResponseProvider::Request& request, |  | 
| 95     scoped_refptr<net::HttpResponseHeaders>* headers, |  | 
| 96     std::string* response_body) { |  | 
| 97   const Response& response = responses_.at(request.url); |  | 
| 98   *headers = response.headers; |  | 
| 99   *response_body = response.body; |  | 
| 100 } |  | 
| OLD | NEW | 
|---|