com.jianggujin.http.response.JNoBodyResponse Maven / Gradle / Ivy
The newest version!
/**
* Copyright 2018 jianggujin (www.jianggujin.com).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.jianggujin.http.response;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.util.List;
import java.util.Map;
import com.jianggujin.http.core.JHttpException;
import com.jianggujin.http.core.JRequest;
import com.jianggujin.http.core.JResponse;
/**
* 无响应体的响应
*
* @author jianggujin
*
*/
public class JNoBodyResponse implements JResponse {
protected int responseCode;
protected String responseMessage;
protected Map> headers;
protected boolean isError;
public void onComplete(InputStream inputStream, HttpURLConnection conn, JRequest request) throws JHttpException {
try {
this.responseCode = conn.getResponseCode();
this.responseMessage = conn.getResponseMessage();
this.headers = conn.getHeaderFields();
this.responseCode = conn.getResponseCode();
this.isError = responseCode < 200 || responseCode >= 300;
if (this.isError && !request.ignoreError()) {
throw new IOException("the http response status[" + responseCode + "] is not OK.");
}
} catch (Exception e) {
throw new JHttpException(e);
}
}
/**
* 获得响应吗
*
* @return responseCode
*/
public int getResponseCode() {
return responseCode;
}
/**
* 获得响应消息
*
* @return responseMessage
*/
public String getResponseMessage() {
return responseMessage;
}
/**
* 获得响应头
*
* @return headers
*/
public Map> getHeaders() {
return headers;
}
/**
* 获得响应头
*/
public String getHeader(String name) {
List headers = this.headers.get(name);
if (headers != null && !headers.isEmpty())
return headers.get(0);
return null;
}
/**
* 是否错误
*
* @return isError
*/
public boolean isError() {
return isError;
}
/**
* 获得数据
*
* @return data
*/
public Object getData() {
return null;
}
public Object getError() {
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy