• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-java-sdk / #7383

01 Jul 2026 11:11AM UTC coverage: 34.935% (+0.03%) from 34.909%
#7383

push

github

web-flow
chore: Update `.codegen.json` with commit hash of `codegen` and `openapi` spec [skip ci] (#1907)

Co-authored-by: box-sdk-build <box-sdk-build@box.com>

19555 of 55976 relevant lines covered (34.93%)

0.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

67.74
/src/main/java/com/box/sdkgen/networking/network/NetworkSession.java
1
package com.box.sdkgen.networking.network;
2

3
import com.box.sdkgen.box.errors.BoxSDKError;
4
import com.box.sdkgen.internal.logging.DataSanitizer;
5
import com.box.sdkgen.networking.baseurls.BaseUrls;
6
import com.box.sdkgen.networking.boxnetworkclient.BoxNetworkClient;
7
import com.box.sdkgen.networking.interceptors.Interceptor;
8
import com.box.sdkgen.networking.networkclient.NetworkClient;
9
import com.box.sdkgen.networking.proxyconfig.ProxyConfig;
10
import com.box.sdkgen.networking.retries.BoxRetryStrategy;
11
import com.box.sdkgen.networking.retries.RetryStrategy;
12
import com.box.sdkgen.networking.timeoutconfig.TimeoutConfig;
13
import java.util.ArrayList;
14
import java.util.HashMap;
15
import java.util.List;
16
import java.util.Map;
17
import java.util.stream.Collectors;
18
import java.util.stream.Stream;
19

20
public class NetworkSession {
21
  protected Map<String, String> additionalHeaders = new HashMap<>();
1✔
22

23
  protected BaseUrls baseUrls = new BaseUrls();
1✔
24

25
  protected List<Interceptor> interceptors = new ArrayList<>();
1✔
26

27
  protected NetworkClient networkClient;
28

29
  protected RetryStrategy retryStrategy;
30

31
  protected DataSanitizer dataSanitizer;
32

33
  protected ProxyConfig proxyConfig;
34

35
  protected TimeoutConfig timeoutConfig;
36

37
  public NetworkSession() {
1✔
38
    networkClient = new BoxNetworkClient();
1✔
39
    retryStrategy = new BoxRetryStrategy();
1✔
40
    dataSanitizer = new DataSanitizer();
1✔
41
    timeoutConfig =
1✔
42
        new TimeoutConfig.Builder()
43
            .connectionTimeoutMs(10000L)
1✔
44
            .readTimeoutMs(60000L)
1✔
45
            .requestTimeoutMs(21600000L)
1✔
46
            .build();
1✔
47
    networkClient = ((BoxNetworkClient) networkClient).withTimeoutConfig(timeoutConfig);
1✔
48
  }
1✔
49

50
  protected NetworkSession(Builder builder) {
1✔
51
    this.additionalHeaders = builder.additionalHeaders;
1✔
52
    this.baseUrls = builder.baseUrls;
1✔
53
    this.networkClient = builder.networkClient;
1✔
54
    this.interceptors = builder.interceptors;
1✔
55
    this.retryStrategy = builder.retryStrategy;
1✔
56
    this.dataSanitizer = builder.dataSanitizer;
1✔
57
    this.proxyConfig = builder.proxyConfig;
1✔
58
    this.timeoutConfig = builder.timeoutConfig;
1✔
59
  }
1✔
60

61
  public NetworkSession withAdditionalHeaders() {
62
    return withAdditionalHeaders(new HashMap<>());
×
63
  }
64

65
  public NetworkSession withAdditionalHeaders(Map<String, String> additionalHeaders) {
66
    Map<String, String> newHeaders = new HashMap<>();
1✔
67
    newHeaders.putAll(this.additionalHeaders);
1✔
68
    newHeaders.putAll(additionalHeaders);
1✔
69
    return new NetworkSession.Builder()
1✔
70
        .additionalHeaders(newHeaders)
1✔
71
        .baseUrls(this.baseUrls)
1✔
72
        .interceptors(this.interceptors)
1✔
73
        .networkClient(this.networkClient)
1✔
74
        .retryStrategy(this.retryStrategy)
1✔
75
        .dataSanitizer(this.dataSanitizer)
1✔
76
        .proxyConfig(this.proxyConfig)
1✔
77
        .timeoutConfig(this.timeoutConfig)
1✔
78
        .build();
1✔
79
  }
80

81
  public NetworkSession withCustomBaseUrls(BaseUrls baseUrls) {
82
    return new Builder()
1✔
83
        .additionalHeaders(this.additionalHeaders)
1✔
84
        .baseUrls(baseUrls)
1✔
85
        .interceptors(this.interceptors)
1✔
86
        .networkClient(this.networkClient)
1✔
87
        .retryStrategy(this.retryStrategy)
1✔
88
        .dataSanitizer(this.dataSanitizer)
1✔
89
        .proxyConfig(this.proxyConfig)
1✔
90
        .timeoutConfig(this.timeoutConfig)
1✔
91
        .build();
1✔
92
  }
93

94
  public NetworkSession withInterceptors(List<Interceptor> interceptors) {
95
    List<Interceptor> newInterceptors =
1✔
96
        Stream.concat(this.interceptors.stream(), interceptors.stream())
1✔
97
            .collect(Collectors.toList());
1✔
98
    return new Builder()
1✔
99
        .additionalHeaders(this.additionalHeaders)
1✔
100
        .baseUrls(this.baseUrls)
1✔
101
        .interceptors(newInterceptors)
1✔
102
        .networkClient(this.networkClient)
1✔
103
        .retryStrategy(this.retryStrategy)
1✔
104
        .dataSanitizer(this.dataSanitizer)
1✔
105
        .proxyConfig(this.proxyConfig)
1✔
106
        .timeoutConfig(this.timeoutConfig)
1✔
107
        .build();
1✔
108
  }
109

110
  public NetworkSession withNetworkClient(NetworkClient networkClient) {
111
    return new Builder()
×
112
        .additionalHeaders(this.additionalHeaders)
×
113
        .baseUrls(this.baseUrls)
×
114
        .interceptors(this.interceptors)
×
115
        .networkClient(networkClient)
×
116
        .retryStrategy(this.retryStrategy)
×
117
        .dataSanitizer(this.dataSanitizer)
×
118
        .proxyConfig(this.proxyConfig)
×
119
        .timeoutConfig(this.timeoutConfig)
×
120
        .build();
×
121
  }
122

123
  public NetworkSession withRetryStrategy(RetryStrategy retryStrategy) {
124
    return new Builder()
×
125
        .additionalHeaders(this.additionalHeaders)
×
126
        .baseUrls(this.baseUrls)
×
127
        .interceptors(this.interceptors)
×
128
        .networkClient(this.networkClient)
×
129
        .retryStrategy(retryStrategy)
×
130
        .dataSanitizer(this.dataSanitizer)
×
131
        .proxyConfig(this.proxyConfig)
×
132
        .timeoutConfig(this.timeoutConfig)
×
133
        .build();
×
134
  }
135

136
  public NetworkSession withDataSanitizer(DataSanitizer dataSanitizer) {
137
    return new Builder()
×
138
        .additionalHeaders(this.additionalHeaders)
×
139
        .baseUrls(this.baseUrls)
×
140
        .interceptors(this.interceptors)
×
141
        .networkClient(this.networkClient)
×
142
        .retryStrategy(this.retryStrategy)
×
143
        .dataSanitizer(dataSanitizer)
×
144
        .proxyConfig(this.proxyConfig)
×
145
        .timeoutConfig(this.timeoutConfig)
×
146
        .build();
×
147
  }
148

149
  public NetworkSession withProxy(ProxyConfig config) {
150
    if (config == null) {
×
151
      throw new IllegalArgumentException("ProxyConfig cannot be null");
×
152
    }
153
    if (!(this.networkClient instanceof BoxNetworkClient)) {
×
154
      throw new BoxSDKError("Proxies are only supported for BoxNetworkClient");
×
155
    }
156
    BoxNetworkClient newClient = ((BoxNetworkClient) this.networkClient).withProxy(config);
×
157
    return new Builder()
×
158
        .additionalHeaders(this.additionalHeaders)
×
159
        .baseUrls(this.baseUrls)
×
160
        .interceptors(this.interceptors)
×
161
        .networkClient(newClient)
×
162
        .retryStrategy(this.retryStrategy)
×
163
        .dataSanitizer(this.dataSanitizer)
×
164
        .proxyConfig(config)
×
165
        .timeoutConfig(this.timeoutConfig)
×
166
        .build();
×
167
  }
168

169
  public NetworkSession withTimeoutConfig(TimeoutConfig timeoutConfig) {
170
    if (timeoutConfig == null) {
1✔
171
      throw new IllegalArgumentException("TimeoutConfig cannot be null");
×
172
    }
173

174
    if (!(this.networkClient instanceof BoxNetworkClient)) {
1✔
175
      throw new BoxSDKError("Timeouts are only supported for BoxNetworkClient");
×
176
    }
177

178
    BoxNetworkClient newClient =
1✔
179
        ((BoxNetworkClient) this.networkClient).withTimeoutConfig(timeoutConfig);
1✔
180
    return new Builder()
1✔
181
        .additionalHeaders(this.additionalHeaders)
1✔
182
        .baseUrls(this.baseUrls)
1✔
183
        .interceptors(this.interceptors)
1✔
184
        .networkClient(newClient)
1✔
185
        .retryStrategy(this.retryStrategy)
1✔
186
        .dataSanitizer(this.dataSanitizer)
1✔
187
        .proxyConfig(this.proxyConfig)
1✔
188
        .timeoutConfig(timeoutConfig)
1✔
189
        .build();
1✔
190
  }
191

192
  public Map<String, String> getAdditionalHeaders() {
193
    return additionalHeaders;
1✔
194
  }
195

196
  public BaseUrls getBaseUrls() {
197
    return baseUrls;
1✔
198
  }
199

200
  public NetworkClient getNetworkClient() {
201
    return networkClient;
1✔
202
  }
203

204
  public List<Interceptor> getInterceptors() {
205
    return interceptors;
1✔
206
  }
207

208
  public RetryStrategy getRetryStrategy() {
209
    return retryStrategy;
1✔
210
  }
211

212
  public DataSanitizer getDataSanitizer() {
213
    return dataSanitizer;
1✔
214
  }
215

216
  public ProxyConfig getProxyConfig() {
217
    return proxyConfig;
×
218
  }
219

220
  public TimeoutConfig getTimeoutConfig() {
221
    return timeoutConfig;
×
222
  }
223

224
  public static class Builder {
225

226
    protected Map<String, String> additionalHeaders = new HashMap<>();
1✔
227

228
    protected BaseUrls baseUrls = new BaseUrls();
1✔
229

230
    protected NetworkClient networkClient;
231

232
    protected List<Interceptor> interceptors = new ArrayList<>();
1✔
233

234
    protected RetryStrategy retryStrategy;
235

236
    protected DataSanitizer dataSanitizer;
237

238
    protected ProxyConfig proxyConfig;
239

240
    protected TimeoutConfig timeoutConfig;
241

242
    public Builder() {
1✔
243
      networkClient = new BoxNetworkClient();
1✔
244
      retryStrategy = new BoxRetryStrategy();
1✔
245
      dataSanitizer = new DataSanitizer();
1✔
246
    }
1✔
247

248
    public Builder additionalHeaders(Map<String, String> additionalHeaders) {
249
      this.additionalHeaders = additionalHeaders;
1✔
250
      return this;
1✔
251
    }
252

253
    public Builder baseUrls(BaseUrls baseUrls) {
254
      this.baseUrls = baseUrls;
1✔
255
      return this;
1✔
256
    }
257

258
    public Builder networkClient(NetworkClient networkClient) {
259
      this.networkClient = networkClient;
1✔
260
      return this;
1✔
261
    }
262

263
    public Builder interceptors(List<Interceptor> interceptors) {
264
      this.interceptors = interceptors;
1✔
265
      return this;
1✔
266
    }
267

268
    public Builder retryStrategy(RetryStrategy retryStrategy) {
269
      this.retryStrategy = retryStrategy;
1✔
270
      return this;
1✔
271
    }
272

273
    public Builder dataSanitizer(DataSanitizer dataSanitizer) {
274
      this.dataSanitizer = dataSanitizer;
1✔
275
      return this;
1✔
276
    }
277

278
    public Builder proxyConfig(ProxyConfig proxyConfig) {
279
      this.proxyConfig = proxyConfig;
1✔
280
      return this;
1✔
281
    }
282

283
    public Builder timeoutConfig(TimeoutConfig timeoutConfig) {
284
      this.timeoutConfig = timeoutConfig;
1✔
285
      return this;
1✔
286
    }
287

288
    public NetworkSession build() {
289
      return new NetworkSession(this);
1✔
290
    }
291
  }
292
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc