Exemplo n.º 1
0
    def render(self, request: Request) -> bytes:
        request.extra_info = RequestExtraInfo()

        try:
            action: Optional[str] = request.postpath[0].decode()
        except IndexError:
            action = None

        if action:
            request.extra_info.action = action

        if action == 'send':
            return self.send(request)

        elif action == 'recv':
            return self.recv(request)

        elif action == 'publish':
            return self.publish(request)

        elif action == 'subscribe':
            return self.subscribe(request)

        else:
            res = NoResource(message="invalid command to channel.")
            return res.render(request)