def _write_headers(self, msg): """Writes this `NetworkMessage` instance's headers to the given generator's output file with network style CR LF character pair line endings. If called during a `NetworkMessage.as_string()` to which the `write_headers` option was ``False``, this method does nothing. """ if not self.write_headers: return headerfile = self._fp unixheaderfile = StringIO() try: self._fp = unixheaderfile Generator._write_headers(self, msg) finally: self._fp = headerfile headers = unixheaderfile.getvalue() headerfile.write(headers.replace('\n', '\r\n'))