public class ChatProtocol {
private final ServerAuthentication auth = new ServerAuthentication();
private boolean authorized = false;
protected String handleSpecialAction(String action, String value) {
String s = original(action, value);
if (s != null)
return s;
if (!authorized && action.equals("auth")) {
final String[] parts = value.split(USERNAME_PASSWORD_SEP);
if (parts.length != 2) {
return returnE(ERROR_STRING);
}
if (auth.authenticate(parts[0], parts[1])) {
authorized = true;
username = parts[0];
return returnE(OK_STRING);
}
}
return null;
}
}