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.HttpRequest;
31 import org.apache.http.HttpRequestFactory;
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.DefaultHttpRequestFactory;
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 DefaultHttpRequestParserFactory implements NHttpMessageParserFactory<HttpRequest> {
49
50 public static final DefaultHttpRequestParserFactorytParserFactory.html#DefaultHttpRequestParserFactory">DefaultHttpRequestParserFactory INSTANCE = new DefaultHttpRequestParserFactory();
51
52 private final LineParser lineParser;
53 private final HttpRequestFactory requestFactory;
54
55 public DefaultHttpRequestParserFactory(final LineParser lineParser,
56 final HttpRequestFactory requestFactory) {
57 super();
58 this.lineParser = lineParser != null ? lineParser : BasicLineParser.INSTANCE;
59 this.requestFactory = requestFactory != null ? requestFactory
60 : DefaultHttpRequestFactory.INSTANCE;
61 }
62
63 public DefaultHttpRequestParserFactory() {
64 this(null, null);
65 }
66
67 @Override
68 public NHttpMessageParser<HttpRequest> create(final SessionInputBuffer buffer,
69 final MessageConstraints constraints) {
70 return new DefaultHttpRequestParser(buffer, lineParser, requestFactory, constraints);
71 }
72
73 }