def test_json_response_raises_for_not_json_serializable(): class NotSerializable: def __init__(self) -> None: self.foo = True self.might_be_secret = "iunisud109283012" with pytest.raises(TypeError): json(NotSerializable())
async def integrityerror_exception_handler(self, request: Request, exc: IntegrityError): return json( { "detail": [{ "loc": [], "msg": str(exc), "type": "IntegrityError" }] }, 422)
async def view_api(request): """Check headers for authorization, load JSON/query data and return as JSON.""" if not request.headers.get(b'authorization'): return unauthorized() return json({ 'params': {k: int(v) for k, v in request.route_values.items()}, 'query': dict(request.query), 'data': await request.json(), })
async def handler(request: Request) -> Response: result = await method(request) if result is None: # later the application defaults to 204 No Content return result if not isinstance(result, Response): # default to a plain text or JSON response if isinstance(result, str): return responses.text(result) return responses.json(result) return result
async def upload_files(request: Request): files = await request.files() assert bool(files) folder = "out" ensure_folder(folder) for part in files: with open(f"./{folder}/{part.file_name.decode()}", mode="wb") as saved_filed: saved_filed.write(part.data) return json( { "folder": folder, "files": [{"name": file.file_name.decode()} for file in files], } )
async def upload_files(request): files = await request.files() assert bool(files) folder = 'out' ensure_folder(folder) for part in files: with open(f'./{folder}/{part.file_name.decode()}', mode='wb') as saved_filed: saved_filed.write(part.data) return json({ 'folder': folder, 'files': [{ 'name': file.file_name.decode() } for file in files] })
async def post_form(request): data = await request.form() assert data is not None return json(data)
def json(self, data, status: int = 200) -> Response: """ Returns a response with application/json content, and given status (default HTTP 200 OK). """ return json(data, status)
async def user_info(user: User) -> Response: return json(user.claims)
async def home(): return json(obj)
async def echo_route_values_autobind(one, two, three): return json(dict(one=one, two=two, three=three))
async def echo_route_values(request: Request): params = request.route_values return json(params)
async def echo_query(request: Request): params = request.query return json(params)
async def dependency_injection_example(conf: Configuration) -> Response: # Note how `Configuration` service is registered in `app.services.py`; # Refer to BlackSheep, and rodi documentation for more information return json({"app_name": conf.app_name, "github_url": conf.github_url})
async def echo_cookies(request): cookies = request.cookies return json(cookies)
async def upload_item(request, item: Item): assert request is not None assert item is not None return json(item.__dict__)
async def doesnotexist_exception_handler(self, request: Request, exc: DoesNotExist): return json({"detail": str(exc)}, 404)