docs: async def handler(self, request: Request) -> Tuple[int, str, List[Tuple[str, str]], bytes]:
          """
          The handler handling each request
          :param request: the Request instance
          :return: The Response instance
          """
          response: 'Response' = Response()
  
          handler: Callable = empty
          chain_reverse = self.middleware[::-1]
          for middleware in chain_reverse:
              handler = map_context_to_middleware(middleware, self, request, response, handler)
  
          try:
              await handler()
  
          except HttpException as e:
              response.code = e.code
              response.content = e.body
  
          return response.code, response.status, response.header_as_list, response.output