tba-router-resource-validation-metadata 0.4.0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tba_router_resource_validation_metadata-0.4.0.dev2/PKG-INFO +21 -0
- tba_router_resource_validation_metadata-0.4.0.dev2/README.md +4 -0
- tba_router_resource_validation_metadata-0.4.0.dev2/pyproject.toml +18 -0
- tba_router_resource_validation_metadata-0.4.0.dev2/src/tba_router_resource_validation_metadata/__init__.py +11 -0
- tba_router_resource_validation_metadata-0.4.0.dev2/src/tba_router_resource_validation_metadata/binding.py +59 -0
- tba_router_resource_validation_metadata-0.4.0.dev2/src/tba_router_resource_validation_metadata/py.typed +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tba-router-resource-validation-metadata
|
|
3
|
+
Version: 0.4.0.dev2
|
|
4
|
+
Summary: HTTP carrier for resource-validation capability and verifier metadata.
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
|
+
Requires-Python: >=3.10,<3.15
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Requires-Dist: tba-contracts-identity (==0.4.0.dev2)
|
|
14
|
+
Requires-Dist: tigrbl (==0.4.5.dev8)
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+
# tba-router-resource-validation-metadata
|
|
18
|
+
|
|
19
|
+
HTTP carrier binding for resource-validation capability and verifier metadata.
|
|
20
|
+
Runtime truth and verifier semantics remain owned by upstream layers.
|
|
21
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "tba-router-resource-validation-metadata"
|
|
3
|
+
version = "0.4.0.dev2"
|
|
4
|
+
description = "HTTP carrier for resource-validation capability and verifier metadata."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10,<3.15"
|
|
7
|
+
license = "Apache-2.0"
|
|
8
|
+
dependencies = [
|
|
9
|
+
"tigrbl==0.4.5.dev8",
|
|
10
|
+
"tba-contracts-identity==0.4.0.dev2",
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
[build-system]
|
|
14
|
+
requires = ["poetry-core>=1.0.0"]
|
|
15
|
+
build-backend = "poetry.core.masonry.api"
|
|
16
|
+
|
|
17
|
+
[tool.poetry]
|
|
18
|
+
packages = [{ include = "tba_router_resource_validation_metadata", from = "src" }]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Resource-validation metadata HTTP carrier exports."""
|
|
2
|
+
|
|
3
|
+
from .binding import (
|
|
4
|
+
build_resource_validation_metadata_router,
|
|
5
|
+
include_resource_validation_metadata,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"build_resource_validation_metadata_router",
|
|
10
|
+
"include_resource_validation_metadata",
|
|
11
|
+
]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""HTTP carriers for resource-validation metadata projections."""
|
|
2
|
+
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
from tigrbl import Request, TigrblApp, TigrblRouter
|
|
7
|
+
from tba_contracts_identity.resource_validation_metadata import (
|
|
8
|
+
CAPABILITIES_METADATA_PATH,
|
|
9
|
+
VERIFIER_CONTRACT_METADATA_PATH,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def build_resource_validation_metadata_router(
|
|
14
|
+
*,
|
|
15
|
+
capability_metadata: Callable[..., Any],
|
|
16
|
+
verifier_contract_metadata: Callable[..., Any],
|
|
17
|
+
) -> TigrblRouter:
|
|
18
|
+
router = TigrblRouter()
|
|
19
|
+
|
|
20
|
+
@router.route(
|
|
21
|
+
CAPABILITIES_METADATA_PATH,
|
|
22
|
+
methods=["GET"],
|
|
23
|
+
include_in_schema=True,
|
|
24
|
+
tags=["metadata"],
|
|
25
|
+
)
|
|
26
|
+
async def capabilities(request: Request):
|
|
27
|
+
return await capability_metadata(request)
|
|
28
|
+
|
|
29
|
+
@router.route(
|
|
30
|
+
VERIFIER_CONTRACT_METADATA_PATH,
|
|
31
|
+
methods=["GET"],
|
|
32
|
+
include_in_schema=True,
|
|
33
|
+
tags=["metadata"],
|
|
34
|
+
)
|
|
35
|
+
async def verifier_contract(request: Request):
|
|
36
|
+
return await verifier_contract_metadata(request)
|
|
37
|
+
|
|
38
|
+
return router
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def include_resource_validation_metadata(
|
|
42
|
+
app: TigrblApp,
|
|
43
|
+
router: TigrblRouter,
|
|
44
|
+
*,
|
|
45
|
+
enabled: bool,
|
|
46
|
+
) -> None:
|
|
47
|
+
routes = getattr(getattr(app, "router", None), "routes", ())
|
|
48
|
+
existing = {
|
|
49
|
+
getattr(route, "path", None) or getattr(route, "path_template", None)
|
|
50
|
+
for route in routes
|
|
51
|
+
}
|
|
52
|
+
if enabled and CAPABILITIES_METADATA_PATH not in existing:
|
|
53
|
+
app.include_router(router)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
__all__ = [
|
|
57
|
+
"build_resource_validation_metadata_router",
|
|
58
|
+
"include_resource_validation_metadata",
|
|
59
|
+
]
|