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)
features
Source code in swarmauri_base/pop/PopVerifierMixin.py
| def features(self) -> Feature:
return self._features
|
algs
Source code in swarmauri_base/pop/PopVerifierMixin.py
| 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,
)
|