chromium/services/network/attribution/attribution_request_helper.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_NETWORK_ATTRIBUTION_ATTRIBUTION_REQUEST_HELPER_H_
#define SERVICES_NETWORK_ATTRIBUTION_ATTRIBUTION_REQUEST_HELPER_H_

#include <memory>

#include "base/functional/callback_forward.h"
#include "services/network/public/mojom/attribution.mojom-forward.h"
#include "services/network/public/mojom/url_response_head.mojom-forward.h"

namespace net {

class URLRequest;
struct RedirectInfo;

}  // namespace net

namespace network {

struct ResourceRequest;

// Class AttributionRequestHelper handles attribution-reporting-api related
// operations (https://github.com/WICG/attribution-reporting-api) that must
// happen in the network service. It is meant to be optionally hooked to a
// url_loader instance.
class AttributionRequestHelper {};

// Sets the Attribution Reporting request headers on attribution eligible
// requests. See https://github.com/WICG/attribution-reporting-api.
void SetAttributionReportingHeaders(net::URLRequest&, const ResourceRequest&);

}  // namespace network

#endif  // SERVICES_NETWORK_ATTRIBUTION_ATTRIBUTION_REQUEST_HELPER_H_