• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2024 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "net/device_bound_sessions/registration_request_param.h"
6 
7 #include "net/device_bound_sessions/registration_fetcher_param.h"
8 #include "net/device_bound_sessions/session.h"
9 
10 namespace net::device_bound_sessions {
11 
12 RegistrationRequestParam::RegistrationRequestParam(
13     const RegistrationRequestParam& other) = default;
14 RegistrationRequestParam& RegistrationRequestParam::operator=(
15     const RegistrationRequestParam& other) = default;
16 
17 RegistrationRequestParam::RegistrationRequestParam(
18     RegistrationRequestParam&&) noexcept = default;
19 RegistrationRequestParam& RegistrationRequestParam::operator=(
20     RegistrationRequestParam&&) noexcept = default;
21 
22 RegistrationRequestParam::~RegistrationRequestParam() = default;
23 
24 // static
Create(RegistrationFetcherParam && fetcher_param)25 RegistrationRequestParam RegistrationRequestParam::Create(
26     RegistrationFetcherParam&& fetcher_param) {
27   return RegistrationRequestParam(fetcher_param.TakeRegistrationEndpoint(),
28                                   std::nullopt, fetcher_param.TakeChallenge(),
29                                   fetcher_param.TakeAuthorization());
30 }
31 
32 // static
Create(const Session & session)33 RegistrationRequestParam RegistrationRequestParam::Create(
34     const Session& session) {
35   return RegistrationRequestParam(session.refresh_url(), session.id().value(),
36                                   session.cached_challenge(), std::nullopt);
37 }
38 
39 // static
CreateForTesting(const GURL & registration_endpoint,std::string session_identifier,std::optional<std::string> challenge)40 RegistrationRequestParam RegistrationRequestParam::CreateForTesting(
41     const GURL& registration_endpoint,
42     std::string session_identifier,
43     std::optional<std::string> challenge) {
44   return RegistrationRequestParam(registration_endpoint,
45                                   std::move(session_identifier),
46                                   std::move(challenge), std::nullopt);
47 }
48 
RegistrationRequestParam(const GURL & registration_endpoint,std::optional<std::string> session_identifier,std::optional<std::string> challenge,std::optional<std::string> authorization)49 RegistrationRequestParam::RegistrationRequestParam(
50     const GURL& registration_endpoint,
51     std::optional<std::string> session_identifier,
52     std::optional<std::string> challenge,
53     std::optional<std::string> authorization)
54     : registration_endpoint_(registration_endpoint),
55       session_identifier_(std::move(session_identifier)),
56       challenge_(std::move(challenge)),
57       authorization_(std::move(authorization)) {}
58 
59 }  // namespace net::device_bound_sessions
60