Skip to content

Commit 7b0cb65

Browse files
committed
Added a gen resolver for cookie params as schema
1 parent 9a00126 commit 7b0cb65

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

ellar/common/params/args/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
from .factory import get_parameter_field
3535
from .resolver_generators import (
3636
BulkArgsResolverGenerator,
37+
CookieResolverGenerator,
3738
FormArgsResolverGenerator,
3839
PathArgsResolverGenerator,
3940
QueryHeaderResolverGenerator,
@@ -44,6 +45,7 @@
4445
str(params.PathFieldInfo): PathArgsResolverGenerator,
4546
str(params.QueryFieldInfo): QueryHeaderResolverGenerator,
4647
str(params.HeaderFieldInfo): QueryHeaderResolverGenerator,
48+
str(params.CookieFieldInfo): CookieResolverGenerator,
4749
}
4850

4951

ellar/common/params/args/resolver_generators.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,15 @@ def validate(self, field_name: str, field: ModelField) -> None:
141141
)
142142

143143

144+
class CookieResolverGenerator(BulkArgsResolverGenerator):
145+
def validate(self, field_name: str, field: ModelField) -> None:
146+
if not is_scalar_field(field=field):
147+
raise ImproperConfiguration(
148+
f"field: '{field_name}' with annotation:'{field.type_}' in '{self.param_field.type_}'"
149+
f"can't be processed. Field type is not a primitive type"
150+
)
151+
152+
144153
class FormArgsResolverGenerator(QueryHeaderResolverGenerator):
145154
def generate_resolvers(self, body_field_class: t.Type[FieldInfo]) -> None:
146155
super().generate_resolvers(body_field_class=body_field_class)

0 commit comments

Comments
 (0)