Пример #1
0
    async def wrapper(*args, **kwargs) -> typing.Any:
        request = args[0]
        if request.method.lower() == method.lower():
            handler = await bound_params(func, request)  # type: ignore
            return await handler(*args, **kwargs)

        if request.method == "OPTIONS":
            return Response(headers={"Allow": method})

        return Response(status_code=405, headers={"Allow": method})
Пример #2
0
    async def app(scope, receive, send):
        request = Request(scope, receive)
        mycookie = request.cookies.get("mycookie")
        if mycookie:
            response = Response(mycookie, media_type="text/plain")
        else:
            response = Response("Hello, world!", media_type="text/plain")
            response.set_cookie("mycookie", "Hello, cookies!")

        await response(scope, receive, send)
Пример #3
0
 async def options(self) -> Response:
     """Handle responding to requests for the OPTIONS HTTP verb."""
     return Response(headers={"Allow": ", ".join(self.__methods__)})
Пример #4
0
 async def http_method_not_allowed(self) -> Response:
     return Response(status_code=405,
                     headers={"Allow": ", ".join(self.__methods__)})