def _write_header()

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,
            )