/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.eas.server.websocket;
import com.eas.client.login.PlatypusPrincipal;
import com.eas.script.Scripts;
import java.util.Collections;
import javax.websocket.server.HandshakeRequest;
import jdk.nashorn.api.scripting.JSObject;
/**
*
* @author mg
*/
public class WebSocketPlatypusPrincipal extends PlatypusPrincipal {
protected HandshakeRequest servletRequest;
public WebSocketPlatypusPrincipal(String aUserName, String aDataContext, HandshakeRequest aServletRequest) {
super(aUserName, aDataContext, Collections.emptySet(), null);
servletRequest = aServletRequest;
}
@Override
public boolean hasRole(String aRole) {
return servletRequest.isUserInRole(aRole);
}
@Override
public void logout(JSObject aOnSuccess, JSObject aOnFailure) throws Exception {
if (aOnSuccess != null) {
// async style
Scripts.getSpace().process(() -> {
aOnSuccess.call(null, new Object[]{});
});
} else {
// sync style
}
}
}