blob: 4dcb454d3f1617a7d502ab00f45ec43a9006f8ac [file] [log] [blame]
// Copyright 2019 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 "fuchsia/base/url_request_rewrite_test_util.h"
#include "fuchsia/base/string_util.h"
namespace cr_fuchsia {
fuchsia::web::UrlRequestRewrite CreateRewriteAddHeaders(
base::StringPiece header_name,
base::StringPiece header_value) {
fuchsia::net::http::Header header;
header.name = cr_fuchsia::StringToBytes(header_name);
header.value = cr_fuchsia::StringToBytes(header_value);
std::vector<fuchsia::net::http::Header> response_headers;
response_headers.push_back(std::move(header));
fuchsia::web::UrlRequestRewriteAddHeaders add_headers;
add_headers.set_headers(std::move(response_headers));
fuchsia::web::UrlRequestRewrite rewrite;
rewrite.set_add_headers(std::move(add_headers));
return rewrite;
}
fuchsia::web::UrlRequestRewrite CreateRewriteRemoveHeader(
base::Optional<base::StringPiece> query_pattern,
base::StringPiece header_name) {
fuchsia::web::UrlRequestRewriteRemoveHeader remove_header;
if (query_pattern)
remove_header.set_query_pattern(query_pattern.value().as_string());
remove_header.set_header_name(cr_fuchsia::StringToBytes(header_name));
fuchsia::web::UrlRequestRewrite rewrite;
rewrite.set_remove_header(std::move(remove_header));
return rewrite;
}
fuchsia::web::UrlRequestRewrite CreateRewriteSubstituteQueryPattern(
base::StringPiece pattern,
base::StringPiece substitution) {
fuchsia::web::UrlRequestRewriteSubstituteQueryPattern
substitute_query_pattern;
substitute_query_pattern.set_pattern(pattern.as_string());
substitute_query_pattern.set_substitution(substitution.as_string());
fuchsia::web::UrlRequestRewrite rewrite;
rewrite.set_substitute_query_pattern(std::move(substitute_query_pattern));
return rewrite;
}
fuchsia::web::UrlRequestRewrite CreateRewriteReplaceUrl(
base::StringPiece url_ends_with,
base::StringPiece new_url) {
fuchsia::web::UrlRequestRewriteReplaceUrl replace_url;
replace_url.set_url_ends_with(url_ends_with.as_string());
replace_url.set_new_url(new_url.as_string());
fuchsia::web::UrlRequestRewrite rewrite;
rewrite.set_replace_url(std::move(replace_url));
return rewrite;
}
fuchsia::web::UrlRequestRewrite CreateRewriteAppendToQuery(
base::StringPiece query) {
fuchsia::web::UrlRequestRewriteAppendToQuery append_to_query;
append_to_query.set_query(query.as_string());
fuchsia::web::UrlRequestRewrite rewrite;
rewrite.set_append_to_query(std::move(append_to_query));
return rewrite;
}
} // namespace cr_fuchsia