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.conn;
29
30 import org.apache.http.HttpResponse;
31 import org.apache.http.HttpResponseFactory;
32 import org.apache.http.annotation.Contract;
33 import org.apache.http.annotation.ThreadingBehavior;
34 import org.apache.http.config.MessageConstraints;
35 import org.apache.http.impl.DefaultHttpResponseFactory;
36 import org.apache.http.io.HttpMessageParser;
37 import org.apache.http.io.HttpMessageParserFactory;
38 import org.apache.http.io.SessionInputBuffer;
39 import org.apache.http.message.BasicLineParser;
40 import org.apache.http.message.LineParser;
41
42
43
44
45
46
47 @Contract(threading = ThreadingBehavior.IMMUTABLE_CONDITIONAL)
48 public class DefaultHttpResponseParserFactory implements HttpMessageParserFactory<HttpResponse> {
49
50 public static final DefaultHttpResponseParserFactoryctory.html#DefaultHttpResponseParserFactory">DefaultHttpResponseParserFactory INSTANCE = new DefaultHttpResponseParserFactory();
51
52 private final LineParser lineParser;
53 private final HttpResponseFactory responseFactory;
54
55 public DefaultHttpResponseParserFactory(
56 final LineParser lineParser,
57 final HttpResponseFactory responseFactory) {
58 super();
59 this.lineParser = lineParser != null ? lineParser : BasicLineParser.INSTANCE;
60 this.responseFactory = responseFactory != null ? responseFactory
61 : DefaultHttpResponseFactory.INSTANCE;
62 }
63
64 public DefaultHttpResponseParserFactory(
65 final HttpResponseFactory responseFactory) {
66 this(null, responseFactory);
67 }
68
69 public DefaultHttpResponseParserFactory() {
70 this(null, null);
71 }
72
73 @Override
74 public HttpMessageParser<HttpResponse> create(final SessionInputBuffer buffer,
75 final MessageConstraints constraints) {
76 return new DefaultHttpResponseParser(buffer, lineParser, responseFactory, constraints);
77 }
78
79 }