httk.serve.optimade.engine¶
Public request-validation and endpoint-dispatch helpers.
Submodules¶
Functions¶
|
Process one OPTIMADE query. |
|
Determine the OPTIMADE version named by a request path. |
|
Validate a raw request against an explicit served schema. |
Package Contents¶
- httk.serve.optimade.engine.process(request, query_function, version, config, schema, *, snapshot_cutoff_ns=None, debug=False)[source]¶
Process one OPTIMADE query.
requestcarries the incoming request; onlybaseurlandrepresentationmust be set, missing information is derived fromrepresentation.query_functionis the callback used to execute entry queries against the backend.schemadescribes the served entry types and properties.- Parameters:
request (httk.serve.optimade.model.request.RawRequest) – Raw request to validate and dispatch.
query_function (httk.serve.optimade.model.results.QueryFunction) – Backend callback used for entry queries.
version (str) – API version selected for the request.
config (httk.serve.optimade.model.config.OptimadeConfig) – Service response configuration.
schema (httk.serve.optimade.schema.served.ServedSchema) – Explicit served schema for endpoint validation.
snapshot_cutoff_ns (SnapshotCutoff | None) – Optional stored-backend snapshot capability.
debug (bool) – Enable backend diagnostics.
- Returns:
Endpoint response before web serialization.
- Raises:
httk.serve.optimade.model.errors.OptimadeError – If request validation or endpoint processing fails.
- Return type:
- httk.serve.optimade.engine.determine_optimade_version(request)[source]¶
Determine the OPTIMADE version named by a request path.
- Parameters:
request (httk.serve.optimade.model.request.RawRequest) – Raw request whose relative path is inspected.
- Returns:
Supported API version, using the default when unversioned.
- Raises:
httk.serve.optimade.model.errors.OptimadeError – If the path names an unsupported version.
- Return type:
- httk.serve.optimade.engine.validate_optimade_request(request, version, schema, page_limit_max=50)[source]¶
Validate a raw request against an explicit served schema.
- Parameters:
request (httk.serve.optimade.model.request.RawRequest) – Raw request supplied by the web layer.
version (str) – API version selected for the request.
schema (httk.serve.optimade.schema.served.ServedSchema) – Served entry and property schema.
page_limit_max (int) – Largest accepted
page_limit; larger requests raise 403.
- Returns:
Canonical request and validated query parameters.
- Raises:
httk.serve.optimade.model.errors.OptimadeError – If the path, version, or query is invalid.
- Return type: