Skip to content

Class swarmauri_base.pop.PopVerifierMixin.PopVerifierMixin

swarmauri_base.pop.PopVerifierMixin.PopVerifierMixin

PopVerifierMixin(
    *, kind, header_name, features, algorithms, **data
)

Bases: IPoPVerifier, BaseModel

Provide default behaviours for IPoPVerifier implementations.

Source code in swarmauri_base/pop/PopVerifierMixin.py
43
44
45
46
47
48
49
50
51
52
53
54
55
56
def __init__(
    self,
    *,
    kind: PoPKind,
    header_name: str,
    features: Feature,
    algorithms: Iterable[str],
    **data,
) -> None:
    super().__init__(**data)
    self._kind = kind
    self._header_name = header_name
    self._features = features
    self._algorithms = tuple(algorithms)

model_config class-attribute instance-attribute

model_config = ConfigDict(arbitrary_types_allowed=True)

kind property

kind

header_name property

header_name

features

features()
Source code in swarmauri_base/pop/PopVerifierMixin.py
66
67
def features(self) -> Feature:
    return self._features

algs

algs()
Source code in swarmauri_base/pop/PopVerifierMixin.py
69
70
def algs(self) -> Iterable[str]:
    return self._algorithms

verify_http async

verify_http(
    req,
    cnf,
    *,
    policy=VerifyPolicy(),
    replay=None,
    keys=None,
    extras=None,
)
Source code in swarmauri_base/pop/PopVerifierMixin.py
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
async def verify_http(
    self,
    req: HttpParts,
    cnf: CnfBinding,
    *,
    policy: VerifyPolicy = VerifyPolicy(),
    replay: ReplayHooks | None = None,
    keys: KeyResolver | None = None,
    extras: Mapping[str, object] | None = None,
) -> None:
    extras = extras or {}
    header_value = self._extract_proof(req)
    htm, htu = canon_htm_htu(req.method, req.url, include_query=policy.htu_exact)
    context = RequestContext(method=htm, htu=htu, policy=policy)
    await self._verify_core(
        header_value,
        context,
        cnf,
        replay=replay,
        keys=keys,
        extras=extras,
    )