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.io;
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.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 DefaultHttpRequestParserFactory implements HttpMessageParserFactory<HttpRequest> {
49
50 public static final DefaultHttpRequestParserFactoryory.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 HttpMessageParser<HttpRequest> create(final SessionInputBuffer buffer,
69 final MessageConstraints constraints) {
70 return new DefaultHttpRequestParser(buffer, lineParser, requestFactory, constraints);
71 }
72
73 }