public Stream GetPacketStream(StreamablePacket packet) { if (packet == null) { throw new ArgumentNullException(nameof(packet)); } if (inClearText) { if (packet is LiteralDataPacket && hashHeaders != null) { this.stream.Write(Encoding.ASCII.GetBytes("-----BEGIN PGP SIGNED MESSAGE-----\r\n")); this.stream.Write(Encoding.ASCII.GetBytes("Hash: " + String.Join(", ", hashHeaders) + "\r\n\r\n")); return(new DashEscapeStream(this, this.stream)); } else { throw new InvalidOperationException(); } } if (this.writer == null) { StartArmor(packet.Tag); Debug.Assert(this.writer != null); } return(this.writer.GetPacketStream(packet)); }
public Stream GetPacketStream(StreamablePacket packet) { if (currentPacketStream != null) { throw new InvalidOperationException("Streamable packet is currently being written"); } var packetStream = new PacketOutputStream(this, stream, packet.Tag, canBePartial: true, preferOldFormat: preferOldFormat); packet.EncodeHeader(packetStream); currentPacketStream = packetStream; return(packetStream); }