package com.qianwen.core.http; import java.io.File; import java.util.Map; import javax.annotation.Nullable; import okhttp3.Headers; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.RequestBody; /* loaded from: blade-starter-http-9.3.0.0-SNAPSHOT.jar:org/springblade/core/http/MultipartFormBuilder.class */ public class MultipartFormBuilder { private final HttpRequest request; private final MultipartBody.Builder formBuilder = new MultipartBody.Builder(); /* JADX INFO: Access modifiers changed from: package-private */ public MultipartFormBuilder(HttpRequest request) { this.request = request; } public MultipartFormBuilder add(String name, @Nullable Object value) { this.formBuilder.addFormDataPart(name, HttpRequest.handleValue(value)); return this; } public MultipartFormBuilder addMap(@Nullable Map formMap) { if (formMap != null && !formMap.isEmpty()) { formMap.forEach(this::add); } return this; } public MultipartFormBuilder add(String name, File file) { String fileName = file.getName(); return add(name, fileName, file); } public MultipartFormBuilder add(String name, @Nullable String filename, File file) { RequestBody fileBody = RequestBody.create((MediaType) null, file); return add(name, filename, fileBody); } public MultipartFormBuilder add(String name, @Nullable String filename, RequestBody fileBody) { this.formBuilder.addFormDataPart(name, filename, fileBody); return this; } public MultipartFormBuilder add(RequestBody body) { this.formBuilder.addPart(body); return this; } public MultipartFormBuilder add(@Nullable Headers headers, RequestBody body) { this.formBuilder.addPart(headers, body); return this; } public MultipartFormBuilder add(MultipartBody.Part part) { this.formBuilder.addPart(part); return this; } public HttpRequest build() { this.formBuilder.setType(MultipartBody.FORM); MultipartBody formBody = this.formBuilder.build(); this.request.multipartForm(formBody); return this.request; } public Exchange execute() { return build().execute(); } public AsyncCall async() { return build().async(); } }