protected static TChannel createServer()

in tchannel-example/src/main/java/com/uber/tchannel/basic/SyncRequest.java [81:124]


    protected static TChannel createServer() throws Exception {

        // create TChannel
        TChannel tchannel = new TChannel.Builder("server")
            .setServerHost(InetAddress.getByName(null))
            .setServerPort(8888)
            .build();

        // create sub channel to register the service and endpoint handler
        tchannel.makeSubChannel("server")
            .register("pong", new RawRequestHandler() {
                private int count = 0;

                @Override
                public RawResponse handleImpl(RawRequest request) {
                    System.out.println(String.format("Request received: header: %s, body: %s",
                        request.getHeader(),
                        request.getBody()));

                    count++;
                    switch (count) {
                        case 1:
                            return new RawResponse.Builder(request)
                                .setTransportHeaders(request.getTransportHeaders())
                                .setHeader("Polo")
                                .setBody("Pong!")
                                .build();
                        case 2:
                            return new RawResponse.Builder(request)
                                .setTransportHeaders(request.getTransportHeaders())
                                .setResponseCode(ResponseCode.Error)
                                .setHeader("Polo")
                                .setBody("I feel bad ...")
                                .build();
                        default:
                            throw new UnsupportedOperationException("I feel very bad!");
                    }
                }
            });

        tchannel.listen();

        return tchannel;
    }