package com.ctrip.framework.apollo.common.utils;
import com.google.common.base.MoreObjects;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.springframework.web.client.HttpStatusCodeException;
import java.lang.reflect.Type;
import java.util.Map;
public final class ExceptionUtils {
private static Gson gson = new Gson();
private static Type mapType = new TypeToken<Map<String, Object>>() {}.getType();
public static String toString(HttpStatusCodeException e) {
Map<String, Object> errorAttributes = gson.fromJson(e.getResponseBodyAsString(), mapType);
if (errorAttributes != null) {
return MoreObjects.toStringHelper(HttpStatusCodeException.class).omitNullValues()
.add("status", errorAttributes.get("status"))
.add("message", errorAttributes.get("message"))
.add("timestamp", errorAttributes.get("timestamp"))
.add("exception", errorAttributes.get("exception"))
.add("errorCode", errorAttributes.get("errorCode"))
.add("stackTrace", errorAttributes.get("stackTrace")).toString();
}
return "";
}
}