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.hc.core5.http.impl.io;
29
30 import org.apache.hc.core5.annotation.Contract;
31 import org.apache.hc.core5.annotation.ThreadingBehavior;
32 import org.apache.hc.core5.http.ClassicHttpRequest;
33 import org.apache.hc.core5.http.config.Http1Config;
34 import org.apache.hc.core5.http.io.HttpMessageWriter;
35 import org.apache.hc.core5.http.io.HttpMessageWriterFactory;
36 import org.apache.hc.core5.http.message.BasicLineFormatter;
37 import org.apache.hc.core5.http.message.LineFormatter;
38
39
40
41
42
43
44 @Contract(threading = ThreadingBehavior.IMMUTABLE_CONDITIONAL)
45 public class DefaultHttpRequestWriterFactory implements HttpMessageWriterFactory<ClassicHttpRequest> {
46
47 public static final DefaultHttpRequestWriterFactory INSTANCE = new DefaultHttpRequestWriterFactory();
48
49 private final Http1Config http1Config;
50 private final LineFormatter lineFormatter;
51
52
53
54
55 public DefaultHttpRequestWriterFactory(final Http1Config http1Config, final LineFormatter lineFormatter) {
56 super();
57 this.http1Config = http1Config != null ? http1Config : Http1Config.DEFAULT;
58 this.lineFormatter = lineFormatter != null ? lineFormatter : BasicLineFormatter.INSTANCE;
59 }
60
61
62
63
64 public DefaultHttpRequestWriterFactory(final Http1Config http1Config) {
65 this(http1Config, null);
66 }
67
68 public DefaultHttpRequestWriterFactory(final LineFormatter lineFormatter) {
69 this(null, lineFormatter);
70 }
71
72 public DefaultHttpRequestWriterFactory() {
73 this(null, null);
74 }
75
76 @Override
77 public HttpMessageWriter<ClassicHttpRequest> create() {
78 return new DefaultHttpRequestWriter(http1Config, lineFormatter);
79 }
80
81 }