@@ -64,57 +64,54 @@ public NettyRequestFactory(AsyncHttpClientConfig config) {
64
64
cookieEncoder = config .isUseLaxCookieEncoder () ? ClientCookieEncoder .LAX : ClientCookieEncoder .STRICT ;
65
65
}
66
66
67
- private NettyBody body (Request request , boolean connect ) {
67
+ private NettyBody body (Request request ) {
68
68
NettyBody nettyBody = null ;
69
- if (! connect ) {
69
+ Charset bodyCharset = withDefault ( request . getCharset (), DEFAULT_CHARSET );
70
70
71
- Charset bodyCharset = withDefault (request .getCharset (), DEFAULT_CHARSET );
71
+ if (request .getByteData () != null ) {
72
+ nettyBody = new NettyByteArrayBody (request .getByteData ());
72
73
73
- if (request .getByteData () != null ) {
74
- nettyBody = new NettyByteArrayBody (request .getByteData ());
74
+ } else if (request .getCompositeByteData () != null ) {
75
+ nettyBody = new NettyCompositeByteArrayBody (request .getCompositeByteData ());
75
76
76
- } else if (request .getCompositeByteData () != null ) {
77
- nettyBody = new NettyCompositeByteArrayBody ( request .getCompositeByteData ( ));
77
+ } else if (request .getStringData () != null ) {
78
+ nettyBody = new NettyByteBufferBody ( StringUtils . charSequence2ByteBuffer ( request .getStringData (), bodyCharset ));
78
79
79
- } else if (request .getStringData () != null ) {
80
- nettyBody = new NettyByteBufferBody (StringUtils . charSequence2ByteBuffer ( request .getStringData (), bodyCharset ));
80
+ } else if (request .getByteBufferData () != null ) {
81
+ nettyBody = new NettyByteBufferBody (request .getByteBufferData ( ));
81
82
82
- } else if (request .getByteBufferData () != null ) {
83
- nettyBody = new NettyByteBufferBody (request .getByteBufferData ());
83
+ } else if (request .getStreamData () != null ) {
84
+ nettyBody = new NettyInputStreamBody (request .getStreamData ());
84
85
85
- } else if (request .getStreamData () != null ) {
86
- nettyBody = new NettyInputStreamBody (request .getStreamData ());
86
+ } else if (isNonEmpty (request .getFormParams ())) {
87
87
88
- } else if (isNonEmpty (request .getFormParams ())) {
89
-
90
- CharSequence contentType = null ;
91
- if (!request .getHeaders ().contains (CONTENT_TYPE )) {
92
- contentType = HttpHeaderValues .APPLICATION_X_WWW_FORM_URLENCODED ;
93
- }
88
+ CharSequence contentType = null ;
89
+ if (!request .getHeaders ().contains (CONTENT_TYPE )) {
90
+ contentType = HttpHeaderValues .APPLICATION_X_WWW_FORM_URLENCODED ;
91
+ }
94
92
95
- nettyBody = new NettyByteBufferBody (urlEncodeFormParams (request .getFormParams (), bodyCharset ), contentType );
93
+ nettyBody = new NettyByteBufferBody (urlEncodeFormParams (request .getFormParams (), bodyCharset ), contentType );
96
94
97
- } else if (isNonEmpty (request .getBodyParts ())) {
98
- nettyBody = new NettyMultipartBody (request .getBodyParts (), request .getHeaders (), config );
95
+ } else if (isNonEmpty (request .getBodyParts ())) {
96
+ nettyBody = new NettyMultipartBody (request .getBodyParts (), request .getHeaders (), config );
99
97
100
- } else if (request .getFile () != null ) {
101
- nettyBody = new NettyFileBody (request .getFile (), config );
98
+ } else if (request .getFile () != null ) {
99
+ nettyBody = new NettyFileBody (request .getFile (), config );
102
100
103
- } else if (request .getBodyGenerator () instanceof FileBodyGenerator ) {
104
- FileBodyGenerator fileBodyGenerator = (FileBodyGenerator ) request .getBodyGenerator ();
105
- nettyBody = new NettyFileBody (fileBodyGenerator .getFile (), fileBodyGenerator .getRegionSeek (), fileBodyGenerator .getRegionLength (), config );
101
+ } else if (request .getBodyGenerator () instanceof FileBodyGenerator ) {
102
+ FileBodyGenerator fileBodyGenerator = (FileBodyGenerator ) request .getBodyGenerator ();
103
+ nettyBody = new NettyFileBody (fileBodyGenerator .getFile (), fileBodyGenerator .getRegionSeek (), fileBodyGenerator .getRegionLength (), config );
106
104
107
- } else if (request .getBodyGenerator () instanceof InputStreamBodyGenerator ) {
108
- InputStreamBodyGenerator inStreamGenerator = InputStreamBodyGenerator .class .cast (request .getBodyGenerator ());
109
- nettyBody = new NettyInputStreamBody (inStreamGenerator .getInputStream (), inStreamGenerator .getContentLength ());
105
+ } else if (request .getBodyGenerator () instanceof InputStreamBodyGenerator ) {
106
+ InputStreamBodyGenerator inStreamGenerator = InputStreamBodyGenerator .class .cast (request .getBodyGenerator ());
107
+ nettyBody = new NettyInputStreamBody (inStreamGenerator .getInputStream (), inStreamGenerator .getContentLength ());
110
108
111
- } else if (request .getBodyGenerator () instanceof ReactiveStreamsBodyGenerator ) {
112
- ReactiveStreamsBodyGenerator reactiveStreamsBodyGenerator = (ReactiveStreamsBodyGenerator ) request .getBodyGenerator ();
113
- nettyBody = new NettyReactiveStreamsBody (reactiveStreamsBodyGenerator .getPublisher (), reactiveStreamsBodyGenerator .getContentLength ());
109
+ } else if (request .getBodyGenerator () instanceof ReactiveStreamsBodyGenerator ) {
110
+ ReactiveStreamsBodyGenerator reactiveStreamsBodyGenerator = (ReactiveStreamsBodyGenerator ) request .getBodyGenerator ();
111
+ nettyBody = new NettyReactiveStreamsBody (reactiveStreamsBodyGenerator .getPublisher (), reactiveStreamsBodyGenerator .getContentLength ());
114
112
115
- } else if (request .getBodyGenerator () != null ) {
116
- nettyBody = new NettyBodyBody (request .getBodyGenerator ().createBody (), config );
117
- }
113
+ } else if (request .getBodyGenerator () != null ) {
114
+ nettyBody = new NettyBodyBody (request .getBodyGenerator ().createBody (), config );
118
115
}
119
116
120
117
return nettyBody ;
@@ -140,26 +137,25 @@ public NettyRequest newNettyRequest(Request request, boolean forceConnect, Proxy
140
137
HttpVersion httpVersion = HttpVersion .HTTP_1_1 ;
141
138
String requestUri = requestUri (uri , proxyServer , connect );
142
139
143
- NettyBody body = body (request , connect );
140
+ NettyBody body = connect ? null : body (request );
144
141
145
- HttpRequest httpRequest ;
146
142
NettyRequest nettyRequest ;
147
- if (body instanceof NettyDirectBody ) {
148
- ByteBuf buf = NettyDirectBody .class .cast (body ).byteBuf ();
149
- httpRequest = new DefaultFullHttpRequest (httpVersion , method , requestUri , buf );
150
- // body is passed as null as it's written directly with the request
143
+ if (body == null ) {
144
+ HttpRequest httpRequest = new DefaultFullHttpRequest (httpVersion , method , requestUri , Unpooled .EMPTY_BUFFER );
151
145
nettyRequest = new NettyRequest (httpRequest , null );
152
146
153
- } else if (body == null ) {
154
- httpRequest = new DefaultFullHttpRequest (httpVersion , method , requestUri , Unpooled .EMPTY_BUFFER );
147
+ } else if (body instanceof NettyDirectBody ) {
148
+ ByteBuf buf = NettyDirectBody .class .cast (body ).byteBuf ();
149
+ HttpRequest httpRequest = new DefaultFullHttpRequest (httpVersion , method , requestUri , buf );
150
+ // body is passed as null as it's written directly with the request
155
151
nettyRequest = new NettyRequest (httpRequest , null );
156
152
157
153
} else {
158
- httpRequest = new DefaultHttpRequest (httpVersion , method , requestUri );
154
+ HttpRequest httpRequest = new DefaultHttpRequest (httpVersion , method , requestUri );
159
155
nettyRequest = new NettyRequest (httpRequest , body );
160
156
}
161
157
162
- HttpHeaders headers = httpRequest .headers ();
158
+ HttpHeaders headers = nettyRequest . getHttpRequest () .headers ();
163
159
164
160
if (connect ) {
165
161
// assign proxy-auth as configured on request
@@ -186,13 +182,15 @@ public NettyRequest newNettyRequest(Request request, boolean forceConnect, Proxy
186
182
}
187
183
188
184
if (body != null ) {
189
- if (body .getContentLength () < 0 )
185
+ if (body .getContentLength () < 0 ) {
190
186
headers .set (TRANSFER_ENCODING , HttpHeaderValues .CHUNKED );
191
- else
187
+ } else {
192
188
headers .set (CONTENT_LENGTH , body .getContentLength ());
189
+ }
193
190
194
- if (body .getContentType () != null )
191
+ if (body .getContentType () != null ) {
195
192
headers .set (CONTENT_TYPE , body .getContentType ());
193
+ }
196
194
}
197
195
198
196
// connection header and friends
@@ -205,12 +203,14 @@ public NettyRequest newNettyRequest(Request request, boolean forceConnect, Proxy
205
203
206
204
} else if (!headers .contains (CONNECTION )) {
207
205
CharSequence connectionHeaderValue = connectionHeader (config .isKeepAlive (), httpVersion );
208
- if (connectionHeaderValue != null )
206
+ if (connectionHeaderValue != null ) {
209
207
headers .set (CONNECTION , connectionHeaderValue );
208
+ }
210
209
}
211
210
212
- if (!headers .contains (HOST ))
211
+ if (!headers .contains (HOST )) {
213
212
headers .set (HOST , hostHeader (request , uri ));
213
+ }
214
214
215
215
// don't override authorization but append
216
216
addAuthorizationHeader (headers , perRequestAuthorizationHeader (request , realm ));
@@ -220,32 +220,31 @@ public NettyRequest newNettyRequest(Request request, boolean forceConnect, Proxy
220
220
}
221
221
222
222
// Add default accept headers
223
- if (!headers .contains (ACCEPT ))
223
+ if (!headers .contains (ACCEPT )) {
224
224
headers .set (ACCEPT , "*/*" );
225
+ }
225
226
226
227
// Add default user agent
227
- if (!headers .contains (USER_AGENT ) && config .getUserAgent () != null )
228
+ if (!headers .contains (USER_AGENT ) && config .getUserAgent () != null ) {
228
229
headers .set (USER_AGENT , config .getUserAgent ());
230
+ }
229
231
230
232
return nettyRequest ;
231
233
}
232
234
233
235
private String requestUri (Uri uri , ProxyServer proxyServer , boolean connect ) {
234
- if (connect )
236
+ if (connect ) {
235
237
// proxy tunnelling, connect need host and explicit port
236
238
return getAuthority (uri );
237
239
238
- else if (proxyServer != null && !uri .isSecured ())
240
+ } else if (proxyServer != null && !uri .isSecured ()) {
239
241
// proxy over HTTP, need full url
240
242
return uri .toUrl ();
241
243
242
- else {
244
+ } else {
243
245
// direct connection to target host or tunnel already connected: only path and query
244
246
String path = getNonEmptyPath (uri );
245
- if (isNonEmpty (uri .getQuery ()))
246
- return path + "?" + uri .getQuery ();
247
- else
248
- return path ;
247
+ return isNonEmpty (uri .getQuery ()) ? path + "?" + uri .getQuery () : path ;
249
248
}
250
249
}
251
250
0 commit comments