@Override
public void onEvent(ServerEvent serverEvent) throws Exception {
final Request request = serverEvent.get();
final String replyTo = request.getReplyTo();
Response response;
switch (request.getType()) {
case clientRequest:
logger.debug("Client request received {}", request);
response = handleClientRequest(request);
break;
case ping:
logger.info("Ping request received from {}", replyTo);
response = Response.newBuilder().buildSuccess();
break;
default:
logger.warn("Unknown type of request received {} from client with topic {}, correlationId = {}",
request.getType(), replyTo, request.getCorrelationId());
response = Response.newBuilder()
.buildFailed(404);
}
response.setCorrelationId(request.getCorrelationId());
ProxyMessage responseMessage = ProxyMessageBuilder.notification(new NotificationCreatePayload(replyTo, gson.toJson(response)));
proxyClient.push(responseMessage);
}