Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc_core::HeaderMatcher Class Reference

#include <matchers.h>

Public Types

enum  Type {
  Type::kExact, Type::kPrefix, Type::kSuffix, Type::kSafeRegex,
  Type::kContains, Type::kRange, Type::kPresent
}
 

Public Member Functions

 HeaderMatcher ()=default
 
 HeaderMatcher (const HeaderMatcher &other)
 
 HeaderMatcher (HeaderMatcher &&other) noexcept
 
bool Match (const absl::optional< absl::string_view > &value) const
 
const std::string & name () const
 
HeaderMatcheroperator= (const HeaderMatcher &other)
 
HeaderMatcheroperator= (HeaderMatcher &&other) noexcept
 
bool operator== (const HeaderMatcher &other) const
 
RE2 * regex_matcher () const
 
const std::string & string_matcher () const
 
std::string ToString () const
 
Type type () const
 

Static Public Member Functions

static absl::StatusOr< HeaderMatcherCreate (absl::string_view name, Type type, absl::string_view matcher, int64_t range_start=0, int64_t range_end=0, bool present_match=false, bool invert_match=false)
 

Private Member Functions

 HeaderMatcher (absl::string_view name, bool present_match, bool invert_match)
 
 HeaderMatcher (absl::string_view name, int64_t range_start, int64_t range_end, bool invert_match)
 
 HeaderMatcher (absl::string_view name, Type type, StringMatcher matcher, bool invert_match)
 

Private Attributes

bool invert_match_ = false
 
StringMatcher matcher_
 
std::string name_
 
bool present_match_
 
int64_t range_end_
 
int64_t range_start_
 
Type type_ = Type::kExact
 

Detailed Description

Definition at line 79 of file matchers/matchers.h.

Member Enumeration Documentation

◆ Type

Enumerator
kExact 
kPrefix 
kSuffix 
kSafeRegex 
kContains 
kRange 
kPresent 

Definition at line 81 of file matchers/matchers.h.

Constructor & Destructor Documentation

◆ HeaderMatcher() [1/6]

grpc_core::HeaderMatcher::HeaderMatcher ( )
default

◆ HeaderMatcher() [2/6]

grpc_core::HeaderMatcher::HeaderMatcher ( const HeaderMatcher other)

Definition at line 205 of file matchers/matchers.cc.

◆ HeaderMatcher() [3/6]

grpc_core::HeaderMatcher::HeaderMatcher ( HeaderMatcher &&  other)
noexcept

Definition at line 240 of file matchers/matchers.cc.

◆ HeaderMatcher() [4/6]

grpc_core::HeaderMatcher::HeaderMatcher ( absl::string_view  name,
Type  type,
StringMatcher  matcher,
bool  invert_match 
)
private

Definition at line 183 of file matchers/matchers.cc.

◆ HeaderMatcher() [5/6]

grpc_core::HeaderMatcher::HeaderMatcher ( absl::string_view  name,
int64_t  range_start,
int64_t  range_end,
bool  invert_match 
)
private

Definition at line 190 of file matchers/matchers.cc.

◆ HeaderMatcher() [6/6]

grpc_core::HeaderMatcher::HeaderMatcher ( absl::string_view  name,
bool  present_match,
bool  invert_match 
)
private

Definition at line 198 of file matchers/matchers.cc.

Member Function Documentation

◆ Create()

absl::StatusOr< HeaderMatcher > grpc_core::HeaderMatcher::Create ( absl::string_view  name,
Type  type,
absl::string_view  matcher,
int64_t  range_start = 0,
int64_t  range_end = 0,
bool  present_match = false,
bool  invert_match = false 
)
static

Definition at line 157 of file matchers/matchers.cc.

◆ Match()

bool grpc_core::HeaderMatcher::Match ( const absl::optional< absl::string_view > &  value) const

Definition at line 290 of file matchers/matchers.cc.

◆ name()

const std::string& grpc_core::HeaderMatcher::name ( ) const
inline

Definition at line 125 of file matchers/matchers.h.

◆ operator=() [1/2]

HeaderMatcher & grpc_core::HeaderMatcher::operator= ( const HeaderMatcher other)

Definition at line 222 of file matchers/matchers.cc.

◆ operator=() [2/2]

HeaderMatcher & grpc_core::HeaderMatcher::operator= ( HeaderMatcher &&  other)
noexcept

Definition at line 257 of file matchers/matchers.cc.

◆ operator==()

bool grpc_core::HeaderMatcher::operator== ( const HeaderMatcher other) const

Definition at line 275 of file matchers/matchers.cc.

◆ regex_matcher()

RE2* grpc_core::HeaderMatcher::regex_matcher ( ) const
inline

Definition at line 135 of file matchers/matchers.h.

◆ string_matcher()

const std::string& grpc_core::HeaderMatcher::string_matcher ( ) const
inline

Definition at line 130 of file matchers/matchers.h.

◆ ToString()

std::string grpc_core::HeaderMatcher::ToString ( ) const

Definition at line 308 of file matchers/matchers.cc.

◆ type()

Type grpc_core::HeaderMatcher::type ( ) const
inline

Definition at line 127 of file matchers/matchers.h.

Member Data Documentation

◆ invert_match_

bool grpc_core::HeaderMatcher::invert_match_ = false
private

Definition at line 157 of file matchers/matchers.h.

◆ matcher_

StringMatcher grpc_core::HeaderMatcher::matcher_
private

Definition at line 153 of file matchers/matchers.h.

◆ name_

std::string grpc_core::HeaderMatcher::name_
private

Definition at line 151 of file matchers/matchers.h.

◆ present_match_

bool grpc_core::HeaderMatcher::present_match_
private

Definition at line 156 of file matchers/matchers.h.

◆ range_end_

int64_t grpc_core::HeaderMatcher::range_end_
private

Definition at line 155 of file matchers/matchers.h.

◆ range_start_

int64_t grpc_core::HeaderMatcher::range_start_
private

Definition at line 154 of file matchers/matchers.h.

◆ type_

Type grpc_core::HeaderMatcher::type_ = Type::kExact
private

Definition at line 152 of file matchers/matchers.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:36