in src/aws_encryption_sdk/streaming_client.py [0:0]
def _write_header(self):
"""Builds the message header and writes it to the output stream."""
self.output_buffer += serialize_header(header=self._header, signer=self.signer)
# If there is _required_encryption_context,
# serialize it, then authenticate it
if hasattr(self, "_required_encryption_context"):
required_ec_serialized = \
aws_encryption_sdk.internal.formatting.encryption_context.serialize_encryption_context(
self._required_encryption_context
)
self.output_buffer += serialize_header_auth(
version=self._header.version,
algorithm=self._encryption_materials.algorithm,
header=self.output_buffer,
data_encryption_key=self._derived_data_key,
signer=self.signer,
required_ec_bytes=required_ec_serialized,
)
# Otherwise, do not pass in any required encryption context
else:
self.output_buffer += serialize_header_auth(
version=self._header.version,
algorithm=self._encryption_materials.algorithm,
header=self.output_buffer,
data_encryption_key=self._derived_data_key,
signer=self.signer,
)