com.dounine.clouddisk360.parser.deserializer.BaseRequestInterceptor Maven / Gradle / Ivy
package com.dounine.clouddisk360.parser.deserializer;
import com.dounine.clouddisk360.exception.CloudDiskException;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestInterceptor;
import org.apache.http.protocol.HttpContext;
import java.io.IOException;
public class BaseRequestInterceptor implements HttpRequestInterceptor {
public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
requestInit(request,context);
}
public void requestInit(HttpRequest request, HttpContext context)throws HttpException, IOException {
request.setHeader(Const.ACCEPT_KEY, Const.ACCEPT_VAL);
request.setHeader(Const.ACCEPT_ENCODING_KEY, Const.ACCEPT_ENCODING_VAL);
request.setHeader(Const.ACCEPT_LANGUAGE_KEY, Const.ACCEPT_LANGUAGE_VAL);
request.setHeader(Const.CONNECTION_KEY, Const.CONNECTION_VAL);
request.setHeader(Const.CONTENT_TYPE_KEY, Const.CONTENT_TYPE_VAL);
request.setHeader(Const.USER_AGENT_KEY, Const.USER_AGENT_VAL);
}
public void process(HttpRequest request, HttpContext context,boolean useHost) throws HttpException, IOException {
requestInit(request,context);
String hostName = getRequestHostName(context);
String host = getRequestHost(context);
if(StringUtils.isNotBlank(hostName)){
request.setHeader(Const.HOST_KEY,hostName);
}else{
request.setHeader(Const.HOST_KEY, Const.HOST_VAL);
}
if(StringUtils.isNotBlank(host)){
request.setHeader(Const.REFERER_KEY, host+"/my/index");
request.setHeader(Const.ORIGIN_KEY, host);
}else{
throw new CloudDiskException("Referer 与 Origin 不能为空");
}
}
public String getRequestHostName(HttpContext context){
if(null==context.getAttribute(BaseConst.REQUEST_HOST_NAME)){
return null;
}else{
return context.getAttribute(BaseConst.REQUEST_HOST_NAME).toString();
}
}
public String getRequestHost(HttpContext context){
if(null==context.getAttribute(BaseConst.REQUEST_HOST_NAME)){
return null;
}else{
return "http://"+String.valueOf(context.getAttribute(BaseConst.REQUEST_HOST_NAME));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy