All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jianggujin.http.response.JNoBodyResponse Maven / Gradle / Ivy

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.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 IOException {
      this.responseCode = conn.getResponseCode();
      this.responseMessage = conn.getResponseMessage();
      this.headers = conn.getHeaderFields();
      this.responseCode = conn.getResponseCode();
      this.isError = responseCode != 200; // responseCode < 200 || responseCode
      if (this.isError && !request.ignoreError()) {
         throw new IOException("the http response status[" + responseCode + "] is not 200.");
      }
   }

   /**
    * 获得响应吗
    * 
    * @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