org.projectodd.sockjs.SockJsRequest Maven / Gradle / Ivy
/**
* Copyright (C) 2014 Red Hat, Inc, and individual contributors.
*/
package org.projectodd.sockjs;
import java.util.HashMap;
import java.util.Map;
/**
* In addition to the abstract methods, implementations are expected to call
* onDataHandler.handle and onEndHandler.handle when there is request data
* available and when the request has ended, respectively.
*/
public abstract class SockJsRequest {
public abstract String getMethod();
public abstract String getUrl();
public abstract String getPath();
public abstract String getPrefix();
public abstract String getRemoteAddr();
public abstract int getRemotePort();
public abstract String getHeader(String name);
public abstract String getContentType();
public abstract String getCookie(String name);
public abstract String getQueryParameter(String name);
public void addMatch(String key, String value) {
matches.put(key, value);
}
public String server() {
return matches.get("server");
}
public String session() {
return matches.get("session");
}
public void onData(OnDataHandler onDataHandler) {
this.onDataHandler = onDataHandler;
}
public void onEnd(OnEndHandler onEndHandler) {
this.onEndHandler = onEndHandler;
}
private Map matches = new HashMap<>();
public DispatchFunction lastFunction;
public NextFilter nextFilter;
protected OnDataHandler onDataHandler;
protected OnEndHandler onEndHandler;
public static interface OnDataHandler {
public void handle(byte[] bytes) throws SockJsException;
}
public static interface OnEndHandler {
public void handle() throws SockJsException;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy