org.projectodd.sockjs.AppHandler Maven / Gradle / Ivy
/**
* Copyright (C) 2014 Red Hat, Inc, and individual contributors.
* Copyright (C) 2011-2012 VMware, Inc.
*/
package org.projectodd.sockjs;
/**
* Handlers from sockjs-node's sockjs.coffee Server class
*/
public class AppHandler {
public DispatchFunction welcomeScreen = new DispatchFunction() {
@Override
public Object handle(SockJsRequest req, SockJsResponse res, Object data) throws SockJsException {
res.setHeader("content-type", "text/plain; charset=UTF-8");
res.writeHead(200);
res.end("Welcome to SockJS!\n");
return true;
}
};
public DispatchFunction handle404 = new DispatchFunction() {
@Override
public Object handle(SockJsRequest req, SockJsResponse res, Object x) throws SockJsException {
if (res.finished()) {
return x;
}
res.setHeader("content-type", "text/plain; charset=UTF-8");
res.writeHead(404);
res.end("404 Error: Page not found\n");
return true;
}
};
public DispatchFunction disabledTransport = new DispatchFunction() {
@Override
public Object handle(SockJsRequest req, SockJsResponse res, Object data) throws SockJsException {
return handle404.handle(req, res, data);
}
};
public DispatchFunction hSid = new DispatchFunction() {
@Override
public Object handle(SockJsRequest req, SockJsResponse res, Object data) throws SockJsException {
if (server.options.jsessionid) {
String jsid = req.getCookie("JSESSIONID");
if (jsid == null) {
jsid = "dummy";
}
res.setHeader("Set-Cookie", "JSESSIONID=" + jsid + "; path=/");
}
return data;
}
};
public AppHandler(SockJsServer server) {
this.server = server;
}
private SockJsServer server;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy