#40 - ensure the JSON format is handled correctly at all levels
This commit is contained in:
@@ -17,8 +17,10 @@ from aio_pika.abc import (
|
||||
from aiohttp import ClientSession, ClientResponse
|
||||
from dataclasses import dataclass
|
||||
from fastapi import HTTPException
|
||||
from pydantic import BaseModel
|
||||
from starlette.responses import FileResponse
|
||||
|
||||
from amqp.adapter import serializer, pydantic_serializer
|
||||
from amqp.adapter.data_parser import AMQDataParser
|
||||
from amqp.adapter.data_response_factory import DataResponseFactory
|
||||
from amqp.adapter.file_handler import FileHandler, StreamingFileHandler
|
||||
@@ -345,7 +347,9 @@ class CleverThisServiceAdapter:
|
||||
elif arg.annotation == float:
|
||||
_verified_args[arg.name] = float(args[arg.name])
|
||||
elif arg.annotation == bool:
|
||||
_verified_args[arg.name] = bool(args[arg.name])
|
||||
_verified_args[arg.name] = serializer.str_to_bool(
|
||||
args[arg.name]
|
||||
)
|
||||
# TODO: more?
|
||||
else:
|
||||
_verified_args[arg.name] = args[arg.name]
|
||||
@@ -371,6 +375,9 @@ class CleverThisServiceAdapter:
|
||||
),
|
||||
"application/octet-stream",
|
||||
)
|
||||
elif isinstance(_result, BaseModel):
|
||||
_json_result = _result.json()
|
||||
_content_type = "application/json"
|
||||
else:
|
||||
_json_result = _result
|
||||
_content_type = "application/json"
|
||||
|
||||
Reference in New Issue
Block a user