cn.ipokerface.weixin.request.http.apache.HttpBrowserCompatibleMultipart Maven / Gradle / Ivy
package cn.ipokerface.weixin.request.http.apache;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.List;
/**
* Created by PokerFace
* Create Date 2019-12-27.
* Email: [email protected]
* Version 1.0.0
*
* Description:
*/
public class HttpBrowserCompatibleMultipart extends AbstractMultipartForm {
private final List parts;
public HttpBrowserCompatibleMultipart(
final Charset charset,
final String boundary,
final List parts) {
super(charset, boundary);
this.parts = parts;
}
@Override
public List getBodyParts() {
return this.parts;
}
/**
* Write the multipart header fields; depends on the style.
*/
@Override
protected void formatMultipartHeader(
final FormBodyPart part,
final OutputStream out) throws IOException {
// For browser-compatible, only write Content-Disposition
// Use content charset
final Header header = part.getHeader();
final MinimalField cd = header.getField(Mime.CONTENT_DISPOSITION);
writeField(cd, this.charset, out);
final String filename = part.getBody().getFilename();
if (filename != null) {
final MinimalField ct = header.getField(Mime.CONTENT_TYPE);
writeField(ct, this.charset, out);
}
}
}