/**
*
*/
package jframe.pay.http.handler;
import java.util.Map;
import io.netty.handler.codec.http.HttpHeaders;
import jframe.pay.domain.http.RspCode;
/**
* @author dzh
* @date Aug 15, 2014 7:42:11 PM
* @since 1.0
*/
public abstract class SafeHandler extends AbstractHandler {
/**
* @param plugin
*/
protected SafeHandler() {
super();
}
protected Map<String, String> parseHttpReq(String content) throws Exception {
return super.parseHttpReq(content);
}
@Override
protected boolean isValidData(String data) {
return true;
}
@Override
public boolean isValidHeaders(HttpHeaders headers) {
if (!isValidToken(headers)) {
RspCode.setRspCode(rspMap, RspCode.FAIL_HTTP_TOKAN);
return false;
}
return true;
}
@Override
protected Map<String, Object> filterRspMap(Map<String, Object> rsp) {
return rsp;
}
@Override
public void service(Map<String, String> req, Map<String, Object> rsp) throws PayException {
calcSignContent(req);
}
/**
* TODO throw exception
*
* @param req
*/
private void calcSignContent(Map<String, String> req) {
// HttpHeaders headers = this.getHttpHeaders();
// String signK = headers.get(PayFields.F_Pay_SignK);
// String signV = headers.get(PayFields.F_Pay_SignV);
// if (req == null || signK == null || signV == null) {
// isValidContent = false;
// return;
// }
// isValidContent = SecurityUtil.payDigest(signK, JsonUtil.encode(req))
// .equals(signV) ? true : false;
}
/**
*
* @param req
* @return
*/
public boolean isValidContent() {
return true;
}
public boolean isValidToken(HttpHeaders headers) {
if (Boolean.parseBoolean(Plugin.getConfig("token.disable", "false"))) {
return true;
}
return false;
}
}