PC
2024-03-31 8c9ba6667b89cc0494d05b5da4355dde205b8d4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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<String, Object> 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();
    }
}