package com.jgoetsch.eventtrader.source;
import com.pusher.client.AuthorizationFailureException;
import com.pusher.client.Authorizer;
import com.pusher.rest.Pusher;
import com.pusher.rest.data.PresenceUser;
public class PusherSecretAuthorizer implements Authorizer {
private String appId;
private String apiKey;
private String apiSecret;
private Integer userId = new Integer(1);
private Object userInfo;
public String authorize(String channelName, String socketId) throws AuthorizationFailureException {
Pusher pusher = new Pusher(appId, apiKey, apiSecret);
if (channelName.startsWith("presence-"))
return pusher.authenticate(socketId, channelName, new PresenceUser(userId, userInfo));
else
return pusher.authenticate(socketId, channelName);
}
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getApiKey() {
return apiKey;
}
public void setApiKey(String apiKey) {
this.apiKey = apiKey;
}
public String getApiSecret() {
return apiSecret;
}
public void setApiSecret(String apiSecret) {
this.apiSecret = apiSecret;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public Object getUserInfo() {
return userInfo;
}
public void setUserInfo(Object userInfo) {
this.userInfo = userInfo;
}
}