url_request_rewrite_test_util.cc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Copyright 2019 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. #include "fuchsia_web/common/test/url_request_rewrite_test_util.h"
  5. #include "base/strings/string_piece.h"
  6. #include "fuchsia_web/common/string_util.h"
  7. fuchsia::web::UrlRequestRewrite CreateRewriteAddHeaders(
  8. base::StringPiece header_name,
  9. base::StringPiece header_value) {
  10. fuchsia::net::http::Header header;
  11. header.name = StringToBytes(header_name);
  12. header.value = StringToBytes(header_value);
  13. std::vector<fuchsia::net::http::Header> response_headers;
  14. response_headers.push_back(std::move(header));
  15. fuchsia::web::UrlRequestRewriteAddHeaders add_headers;
  16. add_headers.set_headers(std::move(response_headers));
  17. fuchsia::web::UrlRequestRewrite rewrite;
  18. rewrite.set_add_headers(std::move(add_headers));
  19. return rewrite;
  20. }
  21. fuchsia::web::UrlRequestRewrite CreateRewriteRemoveHeader(
  22. absl::optional<base::StringPiece> query_pattern,
  23. base::StringPiece header_name) {
  24. fuchsia::web::UrlRequestRewriteRemoveHeader remove_header;
  25. if (query_pattern)
  26. remove_header.set_query_pattern(std::string(query_pattern.value()));
  27. remove_header.set_header_name(StringToBytes(header_name));
  28. fuchsia::web::UrlRequestRewrite rewrite;
  29. rewrite.set_remove_header(std::move(remove_header));
  30. return rewrite;
  31. }
  32. fuchsia::web::UrlRequestRewrite CreateRewriteSubstituteQueryPattern(
  33. base::StringPiece pattern,
  34. base::StringPiece substitution) {
  35. fuchsia::web::UrlRequestRewriteSubstituteQueryPattern
  36. substitute_query_pattern;
  37. substitute_query_pattern.set_pattern(std::string(pattern));
  38. substitute_query_pattern.set_substitution(std::string(substitution));
  39. fuchsia::web::UrlRequestRewrite rewrite;
  40. rewrite.set_substitute_query_pattern(std::move(substitute_query_pattern));
  41. return rewrite;
  42. }
  43. fuchsia::web::UrlRequestRewrite CreateRewriteReplaceUrl(
  44. base::StringPiece url_ends_with,
  45. base::StringPiece new_url) {
  46. fuchsia::web::UrlRequestRewriteReplaceUrl replace_url;
  47. replace_url.set_url_ends_with(std::string(url_ends_with));
  48. replace_url.set_new_url(std::string(new_url));
  49. fuchsia::web::UrlRequestRewrite rewrite;
  50. rewrite.set_replace_url(std::move(replace_url));
  51. return rewrite;
  52. }
  53. fuchsia::web::UrlRequestRewrite CreateRewriteAppendToQuery(
  54. base::StringPiece query) {
  55. fuchsia::web::UrlRequestRewriteAppendToQuery append_to_query;
  56. append_to_query.set_query(std::string(query));
  57. fuchsia::web::UrlRequestRewrite rewrite;
  58. rewrite.set_append_to_query(std::move(append_to_query));
  59. return rewrite;
  60. }