1010from datetime import timedelta
1111from functools import cache
1212from pathlib import Path
13+ from typing import Optional
1314
1415import jsonschema
1516
1617from .adapters .mapping import MapAdapter
1718from .media_type_registration import (
18- compression_registry as default_compression_registry ,
19+ CompressionRegistry ,
20+ SerializationRegistry ,
21+ default_compression_registry ,
22+ default_deserialization_registry ,
23+ default_serialization_registry ,
1924)
20- from .media_type_registration import (
21- serialization_registry as default_serialization_registry ,
22- )
23- from .query_registration import query_registry as default_query_registry
25+ from .query_registration import QueryRegistry , default_query_registry
2426from .utils import import_object , parse , prepend_to_sys_path
25- from .validation_registration import validation_registry as default_validation_registry
27+ from .validation_registration import ValidationRegistry , default_validation_registry
2628
2729
2830@cache
@@ -40,10 +42,11 @@ def construct_build_app_kwargs(
4042 config ,
4143 * ,
4244 source_filepath = None ,
43- query_registry = None ,
44- compression_registry = None ,
45- serialization_registry = None ,
46- validation_registry = None ,
45+ query_registry : Optional [QueryRegistry ] = None ,
46+ compression_registry : Optional [CompressionRegistry ] = None ,
47+ serialization_registry : Optional [SerializationRegistry ] = None ,
48+ deserialization_registry : Optional [SerializationRegistry ] = None ,
49+ validation_registry : Optional [ValidationRegistry ] = None ,
4750):
4851 """
4952 Given parsed configuration, construct arguments for build_app(...).
@@ -61,6 +64,8 @@ def construct_build_app_kwargs(
6164 query_registry = default_query_registry
6265 if serialization_registry is None :
6366 serialization_registry = default_serialization_registry
67+ if deserialization_registry is None :
68+ deserialization_registry = default_deserialization_registry
6469 if compression_registry is None :
6570 compression_registry = default_compression_registry
6671 if validation_registry is None :
@@ -220,6 +225,7 @@ def construct_build_app_kwargs(
220225 "server_settings" : server_settings ,
221226 "query_registry" : query_registry ,
222227 "serialization_registry" : serialization_registry ,
228+ "deserialization_registry" : deserialization_registry ,
223229 "compression_registry" : compression_registry ,
224230 "validation_registry" : validation_registry ,
225231 "tasks" : {
0 commit comments