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