new HtmlFileTransport(vertx, router, sessions, options, sockHandler);
public void sendFrame(String body) { if (log.isTraceEnabled()) log.trace("HtmlFile, sending frame"); if (!headersWritten) { String htmlFile = HTML_FILE_TEMPLATE.replace("{{ callback }}", callback); rc.response().putHeader("Content-Type", "text/html; charset=UTF-8"); setNoCacheHeaders(rc); rc.response().setChunked(true); setJSESSIONID(options, rc); rc.response().write(htmlFile); headersWritten = true; } body = escapeForJavaScript(body); String sb = "<script>\np(\"" + body + "\");\n</script>\r\n"; Buffer buff = buffer(sb); rc.response().write(buff); bytesSent += buff.length(); if (bytesSent >= maxBytesStreaming) { if (log.isTraceEnabled()) log.trace("More than maxBytes sent so closing connection"); // Reset and close the connection close(); } }
HtmlFileTransport(Vertx vertx, Router router, LocalMap<String, SockJSSession> sessions, SockJSHandlerOptions options, Handler<SockJSSocket> sockHandler) { super(vertx, sessions, options); String htmlFileRE = COMMON_PATH_ELEMENT_RE + "htmlfile.*"; router.getWithRegex(htmlFileRE).handler(rc -> { if (log.isTraceEnabled()) log.trace("HtmlFile, get: " + rc.request().uri()); String callback = rc.request().getParam("callback"); if (callback == null) { callback = rc.request().getParam("c"); if (callback == null) { rc.response().setStatusCode(500).end("\"callback\" parameter required\n"); return; } } if (CALLBACK_VALIDATION.matcher(callback).find()) { rc.response().setStatusCode(500); rc.response().end("invalid \"callback\" parameter\n"); return; } HttpServerRequest req = rc.request(); String sessionID = req.params().get("param0"); SockJSSession session = getSession(rc, options.getSessionTimeout(), options.getHeartbeatInterval(), sessionID, sockHandler); session.register(req, new HtmlFileListener(options.getMaxBytesStreaming(), rc, callback, session)); }); }
public void sendFrame(String body) { if (log.isTraceEnabled()) log.trace("HtmlFile, sending frame"); if (!headersWritten) { String htmlFile = HTML_FILE_TEMPLATE.replace("{{ callback }}", callback); rc.response().putHeader("Content-Type", "text/html; charset=UTF-8"); setNoCacheHeaders(rc); rc.response().setChunked(true); setJSESSIONID(options, rc); rc.response().write(htmlFile); headersWritten = true; } body = escapeForJavaScript(body); String sb = "<script>\np(\"" + body + "\");\n</script>\r\n"; Buffer buff = buffer(sb); rc.response().write(buff); bytesSent += buff.length(); if (bytesSent >= maxBytesStreaming) { if (log.isTraceEnabled()) log.trace("More than maxBytes sent so closing connection"); // Reset and close the connection close(); } }
HtmlFileTransport(Vertx vertx, Router router, LocalMap<String, SockJSSession> sessions, SockJSHandlerOptions options, Handler<SockJSSocket> sockHandler) { super(vertx, sessions, options); String htmlFileRE = COMMON_PATH_ELEMENT_RE + "htmlfile.*"; router.getWithRegex(htmlFileRE).handler(rc -> { if (log.isTraceEnabled()) log.trace("HtmlFile, get: " + rc.request().uri()); String callback = rc.request().getParam("callback"); if (callback == null) { callback = rc.request().getParam("c"); if (callback == null) { rc.response().setStatusCode(500).end("\"callback\" parameter required\n"); return; } } if (CALLBACK_VALIDATION.matcher(callback).find()) { rc.response().setStatusCode(500); rc.response().end("invalid \"callback\" parameter\n"); return; } HttpServerRequest req = rc.request(); String sessionID = req.params().get("param0"); SockJSSession session = getSession(rc, options.getSessionTimeout(), options.getHeartbeatInterval(), sessionID, sockHandler); session.register(req, new HtmlFileListener(options.getMaxBytesStreaming(), rc, callback, session)); }); }
new HtmlFileTransport(vertx, router, sessions, options, sockHandler);