blob: af41f87261b91276aeb9e6efe7339f87bdfdedf2 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ios/web/public/test/http_server/http_server_util.h"
#include "base/memory/ptr_util.h"
#include "base/path_service.h"
#import "ios/web/public/test/http_server/html_response_provider.h"
#import "ios/web/public/test/http_server/http_server.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace web {
namespace test {
void SetUpSimpleHttpServer(const std::map<GURL, std::string>& responses) {
SetUpHttpServer(base::MakeUnique<HtmlResponseProvider>(responses));
}
void SetUpSimpleHttpServerWithSetCookies(
const std::map<GURL, std::pair<std::string, std::string>>& responses) {
SetUpHttpServer(base::MakeUnique<HtmlResponseProvider>(responses));
}
// TODO(crbug.com/694859): Cleanup tests and remove the function. Not
// necessary after switching to EmbeddedTestServer.
void SetUpFileBasedHttpServer() {}
void SetUpHttpServer(std::unique_ptr<web::ResponseProvider> provider) {
web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance();
DCHECK(server.IsRunning());
server.RemoveAllResponseProviders();
server.AddResponseProvider(std::move(provider));
}
void AddResponseProvider(std::unique_ptr<web::ResponseProvider> provider) {
web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance();
DCHECK(server.IsRunning());
server.AddResponseProvider(std::move(provider));
}
} // namespace test
} // namespace web