mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-06-25 02:04:44 +02:00
Fixes #1131
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
package com.intellectualcrafters.plot.object.stream;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class AbstractDelegateOutputStream extends OutputStream {
|
||||
private final OutputStream parent;
|
||||
|
||||
@Override
|
||||
public void write(int b) throws IOException {
|
||||
parent.write(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(byte[] b) throws IOException {
|
||||
parent.write(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(byte[] b, int off, int len) throws IOException {
|
||||
parent.write(b, off, len);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flush() throws IOException {
|
||||
parent.flush();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
parent.close();
|
||||
}
|
||||
|
||||
public AbstractDelegateOutputStream(OutputStream os) {
|
||||
this.parent = os;
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||
import com.intellectualcrafters.plot.object.RegionWrapper;
|
||||
import com.intellectualcrafters.plot.object.RunnableVal;
|
||||
import com.intellectualcrafters.plot.object.stream.AbstractDelegateOutputStream;
|
||||
import com.intellectualcrafters.plot.util.expiry.ExpireManager;
|
||||
|
||||
import java.io.File;
|
||||
@ -156,7 +157,11 @@ public class MainUtil {
|
||||
writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(filename)).append(CRLF);
|
||||
writer.append("Content-Transfer-Encoding: binary").append(CRLF);
|
||||
writer.append(CRLF).flush();
|
||||
writeTask.value = output;
|
||||
OutputStream nonClosable = new AbstractDelegateOutputStream(output) {
|
||||
@Override
|
||||
public void close() throws IOException { } // Don't close
|
||||
};
|
||||
writeTask.value = nonClosable;
|
||||
writeTask.run();
|
||||
output.flush();
|
||||
writer.append(CRLF).flush();
|
||||
|
@ -527,11 +527,11 @@ public abstract class SchematicHandler {
|
||||
@Override
|
||||
public void run(OutputStream output) {
|
||||
try {
|
||||
GZIPOutputStream gzip = new GZIPOutputStream(output, true);
|
||||
NBTOutputStream nos = new NBTOutputStream(gzip);
|
||||
nos.writeTag(tag);
|
||||
nos.flush();
|
||||
gzip.flush();
|
||||
try (GZIPOutputStream gzip = new GZIPOutputStream(output, true)) {
|
||||
try (NBTOutputStream nos = new NBTOutputStream(gzip)) {
|
||||
nos.writeTag(tag);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
Reference in New Issue
Block a user