本文整理汇总了Python中tlslite.utils.codec.Writer类的典型用法代码示例。如果您正苦于以下问题:Python Writer类的具体用法?Python Writer怎么用?Python Writer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Writer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_add_var_bytes
def test_add_var_bytes(self):
w = Writer()
w.add_var_bytes(b'test', 3)
self.assertEqual(bytearray(
b'\x00\x00\x04'
b'test'),
w.bytes)
示例2: extData
def extData(self):
"""Serialise the extension."""
if self.renegotiated_connection is None:
return bytearray(0)
writer = Writer()
writer.addVarSeq(self.renegotiated_connection, 1, 1)
return writer.bytes
示例3: test_add_five_twice
def test_add_five_twice(self):
w = Writer()
w.add(0x0102030405, 5)
w.add(0x1112131415, 5)
self.assertEqual(bytearray(b'\x01\x02\x03\x04\x05'
b'\x11\x12\x13\x14\x15'),
w.bytes)
示例4: test_addVarSeq
def test_addVarSeq(self):
w = Writer()
w.addVarSeq([16, 17, 18], 2, 2)
self.assertEqual(bytearray(
b'\x00\x06' +
b'\x00\x10' +
b'\x00\x11' +
b'\x00\x12'), w.bytes)
示例5: test_addVarSeq_triple_byte_data
def test_addVarSeq_triple_byte_data(self):
w = Writer()
w.addVarSeq([0xaa, 0xbb, 0xcc], 3, 2)
self.assertEqual(bytearray(
b'\x00\x09' +
b'\x00\x00\xaa' +
b'\x00\x00\xbb' +
b'\x00\x00\xcc'), w.bytes)
示例6: test_addVarTupleSeq
def test_addVarTupleSeq(self):
w = Writer()
w.addVarTupleSeq([(1, 2), (2, 9)], 1, 2)
self.assertEqual(bytearray(
b'\x00\x04' + # length
b'\x01\x02' + # first tuple
b'\x02\x09' # second tuple
), w.bytes)
示例7: test_addVarTupleSeq_with_single_element_tuples
def test_addVarTupleSeq_with_single_element_tuples(self):
w = Writer()
w.addVarTupleSeq([[1], [9], [12]], 2, 3)
self.assertEqual(bytearray(
b'\x00\x00\x06' + # length
b'\x00\x01' + # 1st element
b'\x00\x09' + # 2nd element
b'\x00\x0c'), w.bytes)
示例8: post_write
def post_write(writer, self=msg, size=size, pad_byte=pad_byte, pad=pad):
"""Monkey patch for the postWrite of handshake messages"""
if pad is not None:
size = len(pad)
header_writer = Writer()
header_writer.add(self.handshakeType, 1)
header_writer.add(len(writer.bytes) + size, 3)
if pad is not None:
return header_writer.bytes + writer.bytes + pad
elif size < 0:
return header_writer.bytes + writer.bytes[:size]
else:
return header_writer.bytes + writer.bytes + \
bytearray([pad_byte]*size)
示例9: test_add
def test_add(self):
w = Writer()
w.add(255, 1)
self.assertEqual(bytearray(b'\xff'), w.bytes)
示例10: test_add_with_multibyte_field
def test_add_with_multibyte_field(self):
w = Writer()
w.add(32, 2)
self.assertEqual(bytearray(b'\x00\x20'), w.bytes)
示例11: test_bytes
def test_bytes(self):
w = Writer()
w.bytes += bytearray(b'\xbe\xef')
w.add(15, 1)
self.assertEqual(bytearray(b'\xbe\xef\x0f'), w.bytes)
示例12: test_addVarSeq_with_three_byte_overflowing_data
def test_addVarSeq_with_three_byte_overflowing_data(self):
w = Writer()
with self.assertRaises(ValueError):
w.addVarSeq([16, 17, 0x1000000], 3, 2)
示例13: test_add_with_five_bytes_data
def test_add_with_five_bytes_data(self):
w = Writer()
w.add(0x02, 5)
self.assertEqual(bytearray(b'\x00\x00\x00\x00\x02'), w.bytes)
示例14: test_addVarSeq
def test_addVarSeq(self):
w = Writer()
w.addVarSeq([16, 17, 18], 2, 2)
self.assertEqual(bytearray(b"\x00\x06" + b"\x00\x10" + b"\x00\x11" + b"\x00\x12"), w.bytes)
示例15: test_addVarTupleSeq_with_double_byte_invalid_sized_tuples
def test_addVarTupleSeq_with_double_byte_invalid_sized_tuples(self):
w = Writer()
with self.assertRaises(ValueError):
w.addVarTupleSeq([(1, 2), (2, 3, 4)], 2, 2)