package com.framework.okhttp.builder;
import com.framework.okhttp.request.PostFileRequest;
import com.framework.okhttp.request.RequestCall;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;
import okhttp3.MediaType;
public class PostFileBuilder extends OkHttpRequestBuilder {
private File file;
private MediaType mediaType;
public OkHttpRequestBuilder file(File file) {
this.file = file;
return this;
}
public OkHttpRequestBuilder mediaType(MediaType mediaType) {
this.mediaType = mediaType;
return this;
}
@Override
public RequestCall build() {
return new PostFileRequest(url, tag, params, headers, file, mediaType).build();
}
@Override
public PostFileBuilder url(String url) {
this.url = url;
return this;
}
@Override
public PostFileBuilder tag(Object tag) {
this.tag = tag;
return this;
}
@Override
public PostFileBuilder params(Map<String, String> params) {
this.params = params;
return this;
}
@Override
public PostFileBuilder addParams(String key, String val) {
if (this.params == null) {
params = new LinkedHashMap<>();
}
params.put(key, val);
return this;
}
@Override
public PostFileBuilder headers(Map<String, String> headers) {
this.headers = headers;
return this;
}
@Override
public PostFileBuilder addHeader(String key, String val) {
if (this.headers == null) {
headers = new LinkedHashMap<>();
}
headers.put(key, val);
return this;
}
}