Exemplo n.º 1
0
    def build_frame(self, message, opcode, use_mask=False, noheader=False):
        """Send a frame over the websocket with message as its payload."""
        msg_length = len(message)
        if use_mask:  # pragma: no cover
            mask_bit = 0x80
        else:
            mask_bit = 0

        if msg_length < 126:
            header = websocket.PACK_LEN1(
                0x80 | opcode, msg_length | mask_bit)
        elif msg_length < (1 << 16):  # pragma: no cover
            header = websocket.PACK_LEN2(
                0x80 | opcode, 126 | mask_bit, msg_length)
        else:
            header = websocket.PACK_LEN3(
                0x80 | opcode, 127 | mask_bit, msg_length)

        if use_mask:  # pragma: no cover
            mask = random.randrange(0, 0xffffffff)
            mask = mask.to_bytes(4, 'big')
            message = websocket._websocket_mask(mask, bytearray(message))
            if noheader:
                return message
            else:
                return header + mask + message
        else:
            if noheader:
                return message
            else:
                return header + message
Exemplo n.º 2
0
def build_frame(message, opcode, use_mask=False, noheader=False):
    """Send a frame over the websocket with message as its payload."""
    msg_length = len(message)
    if use_mask:  # pragma: no cover
        mask_bit = 0x80
    else:
        mask_bit = 0

    if msg_length < 126:
        header = websocket.PACK_LEN1(0x80 | opcode, msg_length | mask_bit)
    elif msg_length < (1 << 16):  # pragma: no cover
        header = websocket.PACK_LEN2(0x80 | opcode, 126 | mask_bit, msg_length)
    else:
        header = websocket.PACK_LEN3(0x80 | opcode, 127 | mask_bit, msg_length)

    if use_mask:  # pragma: no cover
        mask = random.randrange(0, 0xffffffff)
        mask = mask.to_bytes(4, 'big')
        message = websocket._websocket_mask(mask, bytearray(message))
        if noheader:
            return message
        else:
            return header + mask + message
    else:
        if noheader:
            return message
        else:
            return header + message