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 package org.apache.http.impl.client;
29
30 import java.io.IOException;
31 import java.io.InputStream;
32 import java.io.OutputStream;
33
34 import org.apache.http.Header;
35 import org.apache.http.HttpEntity;
36 import org.apache.http.HttpEntityEnclosingRequest;
37 import org.apache.http.ProtocolException;
38 import org.apache.http.entity.HttpEntityWrapper;
39 import org.apache.http.protocol.HTTP;
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 @Deprecated
55 public class EntityEnclosingRequestWrapper extends RequestWrapper
56 implements HttpEntityEnclosingRequest {
57
58 private HttpEntity entity;
59 private boolean consumed;
60
61 public EntityEnclosingRequestWrapper(final HttpEntityEnclosingRequest request)
62 throws ProtocolException {
63 super(request);
64 setEntity(request.getEntity());
65 }
66
67 @Override
68 public HttpEntity getEntity() {
69 return this.entity;
70 }
71
72 @Override
73 public void setEntity(final HttpEntity entity) {
74 this.entity = entity != null ? new EntityWrapper(entity) : null;
75 this.consumed = false;
76 }
77
78 @Override
79 public boolean expectContinue() {
80 final Header expect = getFirstHeader(HTTP.EXPECT_DIRECTIVE);
81 return expect != null && HTTP.EXPECT_CONTINUE.equalsIgnoreCase(expect.getValue());
82 }
83
84 @Override
85 public boolean isRepeatable() {
86 return this.entity == null || this.entity.isRepeatable() || !this.consumed;
87 }
88
89 class EntityWrapper extends HttpEntityWrapper {
90
91 EntityWrapper(final HttpEntity entity) {
92 super(entity);
93 }
94
95 @Override
96 public void consumeContent() throws IOException {
97 consumed = true;
98 super.consumeContent();
99 }
100
101 @Override
102 public InputStream getContent() throws IOException {
103 consumed = true;
104 return super.getContent();
105 }
106
107 @Override
108 public void writeTo(final OutputStream outStream) throws IOException {
109 consumed = true;
110 super.writeTo(outStream);
111 }
112
113 }
114
115 }