package test_streamer.client;
import us.bpsm.edn.printer.Printer;
import us.bpsm.edn.printer.Printers;
import us.bpsm.edn.protocols.Protocol;
import javax.websocket.Session;
import java.io.StringWriter;
/**
* @author kawasima
*/
public class WebSocketUtil {
public static void send(Session session, Object msg) {
if(msg instanceof String) {
session.getAsyncRemote().sendText((String) msg);
} else {
final Protocol<Printer.Fn<?>> protocol = Printers
.prettyProtocolBuilder()
.put(Object.class,
new BeanPrinterFn()).build();
StringWriter sw = new StringWriter();
Printers.newPrinter(protocol, sw)
.printValue(msg);
sw.flush();
send(session, sw.toString());
}
}
}