MCPcopy Create free account
hub / github.com/apache/thrift / TServlet

Class TServlet

lib/java/src/main/java/org/apache/thrift/server/TServlet.java:21–120  ·  view source on GitHub ↗

Servlet implementation class ThriftServer

Source from the content-addressed store, hash-verified

19
20/** Servlet implementation class ThriftServer */
21public class TServlet extends HttpServlet {
22
23 private final TProcessor processor;
24
25 private final TProtocolFactory inProtocolFactory;
26
27 private final TProtocolFactory outProtocolFactory;
28
29 private final Collection<Map.Entry<String, String>> customHeaders;
30
31 /**
32 * @see HttpServlet#HttpServlet()
33 */
34 public TServlet(
35 TProcessor processor,
36 TProtocolFactory inProtocolFactory,
37 TProtocolFactory outProtocolFactory) {
38 super();
39 this.processor = processor;
40 this.inProtocolFactory = inProtocolFactory;
41 this.outProtocolFactory = outProtocolFactory;
42 this.customHeaders = new ArrayList<Map.Entry<String, String>>();
43 }
44
45 /**
46 * @see HttpServlet#HttpServlet()
47 */
48 public TServlet(TProcessor processor, TProtocolFactory protocolFactory) {
49 this(processor, protocolFactory, protocolFactory);
50 }
51
52 /**
53 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
54 */
55 @Override
56 protected void doPost(HttpServletRequest request, HttpServletResponse response)
57 throws ServletException, IOException {
58
59 TTransport inTransport = null;
60 TTransport outTransport = null;
61
62 try {
63 response.setContentType("application/x-thrift");
64
65 if (null != this.customHeaders) {
66 for (Map.Entry<String, String> header : this.customHeaders) {
67 response.addHeader(header.getKey(), header.getValue());
68 }
69 }
70 InputStream in = request.getInputStream();
71 OutputStream out = response.getOutputStream();
72
73 TTransport transport = new TIOStreamTransport(in, out);
74 inTransport = transport;
75 outTransport = transport;
76
77 TProtocol inProtocol = inProtocolFactory.getProtocol(inTransport);
78 TProtocol outProtocol = outProtocolFactory.getProtocol(outTransport);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected