[Bug 420374] Call super.close() in a finally block

Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
This commit is contained in:
Mikhail Mazursky 2013-10-26 12:43:06 +06:00
parent a28e4730ad
commit c101e55c7f
1 changed files with 25 additions and 12 deletions

View File

@ -35,12 +35,12 @@ public class MultiPartOutputStream extends FilterOutputStream
private static final byte[] __CRLF={'\r','\n'};
private static final byte[] __DASHDASH={'-','-'};
public static String MULTIPART_MIXED="multipart/mixed";
public static String MULTIPART_X_MIXED_REPLACE="multipart/x-mixed-replace";
public static final String MULTIPART_MIXED="multipart/mixed";
public static final String MULTIPART_X_MIXED_REPLACE="multipart/x-mixed-replace";
/* ------------------------------------------------------------ */
private String boundary;
private byte[] boundaryBytes;
private final String boundary;
private final byte[] boundaryBytes;
/* ------------------------------------------------------------ */
private boolean inPart=false;
@ -54,8 +54,15 @@ public class MultiPartOutputStream extends FilterOutputStream
boundary = "jetty"+System.identityHashCode(this)+
Long.toString(System.currentTimeMillis(),36);
boundaryBytes=boundary.getBytes(StringUtil.__ISO_8859_1);
}
inPart=false;
public MultiPartOutputStream(OutputStream out, String boundary)
throws IOException
{
super(out);
this.boundary = boundary;
boundaryBytes=boundary.getBytes(StringUtil.__ISO_8859_1);
}
/* ------------------------------------------------------------ */
@ -65,6 +72,8 @@ public class MultiPartOutputStream extends FilterOutputStream
@Override
public void close()
throws IOException
{
try
{
if (inPart)
out.write(__CRLF);
@ -73,8 +82,12 @@ public class MultiPartOutputStream extends FilterOutputStream
out.write(__DASHDASH);
out.write(__CRLF);
inPart=false;
}
finally
{
super.close();
}
}
/* ------------------------------------------------------------ */
public String getBoundary()