50 lines
2.0 KiB
C++
50 lines
2.0 KiB
C++
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "brave/browser/net/brave_system_request_handler.h"
|
|
|
|
#include "brave/browser/net/brave_block_safebrowsing_urls.h"
|
|
#include "brave/browser/net/brave_common_static_redirect_network_delegate_helper.h"
|
|
#include "brave/browser/net/brave_static_redirect_network_delegate_helper.h"
|
|
#include "brave/components/constants/brave_services_key.h"
|
|
#include "brave/components/constants/brave_services_key_helper.h"
|
|
#include "brave/components/constants/network_constants.h"
|
|
#include "extensions/common/url_pattern.h"
|
|
#include "services/network/public/cpp/resource_request.h"
|
|
#include "url/gurl.h"
|
|
|
|
namespace brave {
|
|
|
|
std::string BraveServicesKeyForTesting() {
|
|
return BUILDFLAG(BRAVE_SERVICES_KEY);
|
|
}
|
|
|
|
void AddBraveServicesKeyHeader(network::ResourceRequest* url_request) {
|
|
if (brave::ShouldAddBraveServicesKeyHeader(url_request->url)) {
|
|
url_request->headers.SetHeaderIfMissing(kBraveServicesKeyHeader,
|
|
BUILDFLAG(BRAVE_SERVICES_KEY));
|
|
}
|
|
return;
|
|
}
|
|
|
|
network::ResourceRequest OnBeforeSystemRequest(
|
|
const network::ResourceRequest& url_request) {
|
|
GURL new_url;
|
|
brave::OnBeforeURLRequest_BlockSafeBrowsingReportingURLs(url_request.url,
|
|
&new_url);
|
|
brave::OnBeforeURLRequest_StaticRedirectWorkForGURL(url_request.url,
|
|
&new_url);
|
|
brave::OnBeforeURLRequest_CommonStaticRedirectWorkForGURL(url_request.url,
|
|
&new_url);
|
|
network::ResourceRequest patched_request = url_request;
|
|
if (!new_url.is_empty()) {
|
|
patched_request.url = new_url;
|
|
}
|
|
AddBraveServicesKeyHeader(&patched_request);
|
|
return patched_request;
|
|
}
|
|
|
|
} // namespace brave
|