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.annotation.ThreadingBehavior;
32 import org.apache.http.annotation.Contract;
33 import org.apache.http.message.BasicLineFormatter;
34 import org.apache.http.message.LineFormatter;
35 import org.apache.http.nio.NHttpMessageWriter;
36 import org.apache.http.nio.NHttpMessageWriterFactory;
37 import org.apache.http.nio.reactor.SessionOutputBuffer;
38
39
40
41
42
43
44 @Contract(threading = ThreadingBehavior.IMMUTABLE_CONDITIONAL)
45 public class DefaultHttpRequestWriterFactory implements NHttpMessageWriterFactory<HttpRequest> {
46
47 public static final DefaultHttpRequestWriterFactorytWriterFactory.html#DefaultHttpRequestWriterFactory">DefaultHttpRequestWriterFactory INSTANCE = new DefaultHttpRequestWriterFactory();
48
49 private final LineFormatter lineFormatter;
50
51 public DefaultHttpRequestWriterFactory(final LineFormatter lineFormatter) {
52 super();
53 this.lineFormatter = lineFormatter != null ? lineFormatter : BasicLineFormatter.INSTANCE;
54 }
55
56 public DefaultHttpRequestWriterFactory() {
57 this(null);
58 }
59
60 @Override
61 public NHttpMessageWriter<HttpRequest> create(final SessionOutputBuffer buffer) {
62 return new DefaultHttpRequestWriter(buffer, lineFormatter);
63 }
64
65 }