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 package org.apache.hc.client5.http.impl;
28
29 import org.apache.hc.core5.annotation.Contract;
30 import org.apache.hc.core5.annotation.Internal;
31 import org.apache.hc.core5.annotation.ThreadingBehavior;
32 import org.apache.hc.core5.http.HttpRequest;
33 import org.apache.hc.core5.http.HttpResponse;
34 import org.apache.hc.core5.http.HttpStatus;
35 import org.apache.hc.core5.http.Method;
36 import org.apache.hc.core5.http.impl.DefaultConnectionReuseStrategy;
37 import org.apache.hc.core5.http.protocol.HttpContext;
38
39 @Internal
40 @Contract(threading = ThreadingBehavior.STATELESS)
41 public class DefaultClientConnectionReuseStrategy extends DefaultConnectionReuseStrategy {
42
43 public static final DefaultClientConnectionReuseStrategynReuseStrategy.html#DefaultClientConnectionReuseStrategy">DefaultClientConnectionReuseStrategy INSTANCE = new DefaultClientConnectionReuseStrategy();
44
45 @Override
46 public boolean keepAlive(final HttpRequest request, final HttpResponse response, final HttpContext context) {
47 if (Method.CONNECT.isSame(request.getMethod()) && response.getCode() == HttpStatus.SC_OK) {
48 return true;
49 }
50 return super.keepAlive(request, response, context);
51 }
52
53 }