def decode()

in apisix/runner/server/protocol.py [0:0]


    def decode(self) -> NewServerResponse:
        """
        decode protocol buffer data
        :return:
        """
        if len(self.__buffer) == 0:
            return NewServerResponse(RESP_STATUS_CODE_BAD_REQUEST, "recv buffer is empty")
        length = len(self.__buffer)
        if length != 4:
            return NewServerResponse(RESP_STATUS_CODE_BAD_REQUEST,
                                     "recv protocol type length is 4, got %d" % length)

        buf = bytearray(self.__buffer)
        self.__type = buf[0]
        buf[0] = 0
        self.__length = int.from_bytes(buf, byteorder="big")
        return NewServerResponse(code=RESP_STATUS_CODE_OK, message=RESP_STATUS_MESSAGE_OK)