blob: e3aeaaabd9619dcc31e0adc9cb8f8b93f9b652fd [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_DEVICE_BOUND_SESSIONS_HOST_PATTERNS_H_
#define NET_DEVICE_BOUND_SESSIONS_HOST_PATTERNS_H_
#include <string>
#include "net/base/net_export.h"
namespace net::device_bound_sessions {
// Returns if `host_pattern` is valid (i.e. can match any hosts). The
// `host_pattern` must either be a full domain (host piece), exactly '*', or a
// pattern containing a wildcard ('*' character) in the most-specific (leftmost)
// label position followed by a dot and the rest of the domain.
bool NET_EXPORT IsValidHostPattern(std::string_view host_pattern);
// Returns whether `host_patern` matches `host`.
bool NET_EXPORT MatchesHostPattern(std::string_view host_pattern,
std::string_view host);
} // namespace net::device_bound_sessions
#endif // NET_DEVICE_BOUND_SESSIONS_HOST_PATTERNS_H_