001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
002//
003// SPDX-License-Identifier: Apache-2.0
004
005package org.pgpainless.sop;
006
007import java.io.IOException;
008import java.io.InputStream;
009import java.io.OutputStream;
010
011import org.bouncycastle.openpgp.PGPUtil;
012import org.bouncycastle.util.io.Streams;
013import sop.Ready;
014import sop.operation.Dearmor;
015
016public class DearmorImpl implements Dearmor {
017
018    @Override
019    public Ready data(InputStream data) throws IOException {
020        InputStream decoder = PGPUtil.getDecoderStream(data);
021        return new Ready() {
022
023            @Override
024            public void writeTo(OutputStream outputStream) throws IOException {
025                Streams.pipeAll(decoder, outputStream);
026                decoder.close();
027            }
028        };
029    }
030}