package com.koushikdutta.async.http.body;
import com.koushikdutta.async.DataEmitter;
import com.koushikdutta.async.DataSink;
import com.koushikdutta.async.Util;
import com.koushikdutta.async.callback.CompletedCallback;
import com.koushikdutta.async.http.AsyncHttpRequest;
import java.io.File;
/**
* Created by koush on 10/14/13.
*/
public class FileBody implements AsyncHttpRequestBody<File> {
File file;
public FileBody(File file) {
this.file = file;
}
@Override
public void write(AsyncHttpRequest request, DataSink sink, CompletedCallback completed) {
Util.pump(file, sink, completed);
}
@Override
public void parse(DataEmitter emitter, CompletedCallback completed) {
throw new AssertionError("not implemented");
}
public static final String CONTENT_TYPE = "application/binary";
@Override
public String getContentType() {
return CONTENT_TYPE;
}
@Override
public boolean readFullyOnRequest() {
throw new AssertionError("not implemented");
}
@Override
public int length() {
return (int)file.length();
}
@Override
public File get() {
return file;
}
}