package com.streamlet.module.net;
import com.google.gson.Gson;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created by Jay.Chen on 2015/6/11.
*/
public class ResponseException extends Exception {
private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
private String time;
private String url;
private Object requestParam;
private Class responseClass;
private String json;
public ResponseException(String message, Throwable cause, String url, Object requestParam, Class responseClass, String json) {
super(message, cause);
this.time = format.format(new Date());
this.url = url;
this.requestParam = requestParam;
this.responseClass = responseClass;
this.json = json;
}
@Override
public String getMessage() {
StringBuffer buffer = new StringBuffer(time);
buffer.append(super.getMessage());
buffer.append(" URL : ").append(url).append(". ");
if (requestParam != null) {
buffer.append(" Params : ");
buffer.append(new Gson().toJson(requestParam));
buffer.append(" End of Params. ");
}
if (responseClass != null) {
buffer.append(" Class : ").append(responseClass.getSimpleName()).append(". ");
}
buffer.append("JSON : ").append(json).append(" End of JSON.");
return buffer.toString();
}
}