private Observable<Void> sendConfig(HttpServerResponse<ByteBuf> response) { response.getHeaders().set("Content-Type", "application/json"); final String resp = "{ \"wsport\" : " + "\"" + config.getWebSocketPort() + "\" }"; ByteBuf output = response.getAllocator().buffer().writeBytes(resp.getBytes()); response.setStatus(HttpResponseStatus.OK); return response.writeAndFlush(output); }
private Observable<Void> sendConfig(HttpServerResponse<ByteBuf> response) { response.getHeaders().set("Content-Type", "application/json"); final String resp = "{ \"wsport\" : " + "\"" + config.getWebSocketPort() + "\" }"; ByteBuf output = response.getAllocator().buffer().writeBytes(resp.getBytes()); response.setStatus(HttpResponseStatus.OK); return response.writeAndFlush(output); }
@PostConstruct public void start() { server = RxNetty.newWebSocketServerBuilder(config.getWebSocketPort(), new ConnectionHandler<WebSocketFrame, WebSocketFrame>() { @Override public Observable<Void> handle(final ObservableConnection<WebSocketFrame, WebSocketFrame> connection) { return connection.getInput().flatMap(new Func1<WebSocketFrame, Observable<Void>>() { @Override public Observable<Void> call(WebSocketFrame wsFrame) { if (wsFrame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) wsFrame; logger.info("Got ws-message: " + textFrame.text()); final String cmd = textFrame.text(); if (cmd.equals("get status")) { return streamEurekaStatus(connection); } else { // registry return streamEurekaRegistryData(connection); } } else { return Observable.empty(); } } }); } }).build().start(); logger.info("Starting WebSocket server on port {}...", server.getServerPort()); }
@PostConstruct public void start() { server = RxNetty.newWebSocketServerBuilder(config.getWebSocketPort(), new ConnectionHandler<WebSocketFrame, WebSocketFrame>() { @Override public Observable<Void> handle(final ObservableConnection<WebSocketFrame, WebSocketFrame> connection) { return connection.getInput().flatMap(new Func1<WebSocketFrame, Observable<Void>>() { @Override public Observable<Void> call(WebSocketFrame wsFrame) { final SocketAddress socketAddress = connection.getChannel().remoteAddress(); if (wsFrame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) wsFrame; logger.info("Got ws-message: " + textFrame.text()); final String cmd = textFrame.text(); if (cmd.equals("get status")) { return streamEurekaStatus(connection); } else { // registry return streamEurekaRegistryData(connection); } } else { return Observable.empty(); } } }); } }).build().start(); logger.info("Starting WebSocket server on port {}...", server.getServerPort()); }