blob: 60c6880feb27f469eb89d9ffd70e3b48b46c7d0f [file] [log] [blame]
package org.wordpress.android.networking;
import java.io.File;
import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okhttp3.internal.Util;
import okio.BufferedSink;
import okio.Okio;
import okio.Source;
public class StreamingRequest extends RequestBody {
public static final int CHUNK_SIZE = 2048;
private final File mFile;
public StreamingRequest(File file) {
mFile = file;
}
@Override
public MediaType contentType() {
return MediaType.parse("multipart/form-data");
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
Source source = null;
try {
source = Okio.source(mFile);
while (source.read(sink.buffer(), CHUNK_SIZE) != -1) {
sink.flush();
}
} finally {
Util.closeQuietly(source);
}
}
};