code: public ChannelFuture respondEventSource(Object data, String event) throws Exception {
          if (!nonChunkedResponseOrFirstChunkSent) {
              HttpUtil.setTransferEncodingChunked(response, true);
              response.headers().set(CONTENT_TYPE, "text/event-stream; charset=UTF-8");
              return respondText("\r\n");  // Send a new line prelude, due to a bug in Opera
          }
          return respondText(renderEventSource(data, event));
      }
docs: To respond event source, call this method as many time as you want.
  
  <p>Event Source response is a special kind of chunked response, data must be UTF-8.
  See:
  - http://sockjs.github.com/sockjs-protocol/sockjs-protocol-0.3.3.html#section-94
  - http://dev.w3.org/html5/eventsource/
  
  <p>No need to call setChunked() before calling this method.