| Index: net/test/embedded_test_server/request_handler_util.h
|
| diff --git a/net/test/embedded_test_server/request_handler_util.h b/net/test/embedded_test_server/request_handler_util.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2ed8d1383b455ce42c5967a3d57db74f0c318958
|
| --- /dev/null
|
| +++ b/net/test/embedded_test_server/request_handler_util.h
|
| @@ -0,0 +1,63 @@
|
| +// Copyright 2015 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.
|
| +
|
| +#ifndef NET_TEST_EMBEDDED_TEST_SERVER_REQUEST_HANDLER_UTIL_H_
|
| +#define NET_TEST_EMBEDDED_TEST_SERVER_REQUEST_HANDLER_UTIL_H_
|
| +
|
| +#include <map>
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "base/macros.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/strings/string_split.h"
|
| +#include "net/test/embedded_test_server/embedded_test_server.h"
|
| +#include "net/test/embedded_test_server/http_response.h"
|
| +
|
| +namespace url {
|
| +class GURL;
|
| +}
|
| +
|
| +namespace net {
|
| +namespace test_server {
|
| +struct HttpRequest;
|
| +
|
| +// This file is only meant for compatibility with testserver.py. No
|
| +// additional handlers should be added here that don't affect multiple
|
| +// distinct tests.
|
| +
|
| +using RequestQuery = std::map<std::string, std::vector<std::string>>;
|
| +
|
| +// Return whether |request| starts with a URL path of |url|.
|
| +bool ShouldHandle(const HttpRequest& request, const std::string& prefix_path);
|
| +
|
| +// Calls |handler| if the |request| URL starts with |prefix|.
|
| +scoped_ptr<HttpResponse> HandlePrefixedRequest(
|
| + const std::string& prefix,
|
| + const EmbeddedTestServer::HandleRequestCallback& handler,
|
| + const HttpRequest& request);
|
| +
|
| +// Parses |url| to get the query and places it into a map.
|
| +RequestQuery ParseQuery(const GURL& url);
|
| +
|
| +// Returns a path that serves the contents of the file at |original_path|
|
| +// with all the text matching the elements of |text_to_replace| replaced
|
| +// with the corresponding values. The path is returned in |replacement_path|.
|
| +// The result path is only usable by HandleFileRequest which will perform the
|
| +// actual replacements of the file contents.
|
| +// TODO(svaldez): Modify to return |replacement_path| instead of passing by
|
| +// reference.
|
| +void GetFilePathWithReplacements(const std::string& original_path,
|
| + const base::StringPairs& text_to_replace,
|
| + std::string* replacement_path);
|
| +
|
| +// Handles |request| by serving a file from under |server_root|.
|
| +scoped_ptr<HttpResponse> HandleFileRequest(const base::FilePath& server_root,
|
| + const HttpRequest& request);
|
| +
|
| +} // namespace test_server
|
| +} // namespace net
|
| +
|
| +#endif // NET_TEST_EMBEDDED_TEST_SERVER_REQUEST_HANDLER_UTIL_H_
|
|
|