do not show stacktrace for http failure

This commit is contained in:
Dmitry Avdeev
2016-09-23 14:15:20 +03:00
parent 57267fe776
commit 7df48f7415
3 changed files with 10 additions and 5 deletions
@@ -118,6 +118,11 @@ public final class HttpRequests {
return myUrl;
}
@Override
public String getMessage() {
return "Status: " + myStatusCode;
}
@Override
public String toString() {
return super.toString() + ". Status=" + myStatusCode + ", Url=" + myUrl;
@@ -29,7 +29,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.AbstractVcs;
import com.intellij.openapi.vcs.ProjectLevelVcsManager;
@@ -47,6 +46,7 @@ import com.intellij.util.Function;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.Convertor;
import com.intellij.util.containers.MultiMap;
import com.intellij.util.io.HttpRequests;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.xmlb.XmlSerializationException;
import com.intellij.util.xmlb.XmlSerializer;
@@ -814,8 +814,8 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe
reason = e.getMessage();
}
//noinspection InstanceofCatchParameter
if (e instanceof SocketTimeoutException) {
LOG.warn("Socket timeout from " + repository);
if (e instanceof SocketTimeoutException || e instanceof HttpRequests.HttpStatusException) {
LOG.warn("Can't connect to " + repository + ": " + e.getMessage());
}
else {
LOG.warn("Cannot connect to " + repository, e);
@@ -25,9 +25,9 @@ import com.intellij.tasks.impl.BaseRepository;
import com.intellij.tasks.impl.BaseRepositoryImpl;
import com.intellij.tasks.impl.LocalTaskImpl;
import com.intellij.tasks.impl.TaskUtil;
import com.intellij.util.Function;
import com.intellij.util.NullableFunction;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.io.HttpRequests;
import com.intellij.util.text.VersionComparatorUtil;
import com.intellij.util.xmlb.annotations.Tag;
import org.apache.axis.utils.XMLChar;
@@ -148,7 +148,7 @@ public class YouTrackRepository extends BaseRepositoryImpl {
String response;
try {
if (method.getStatusCode() != 200) {
throw new Exception("Cannot login: HTTP status code " + method.getStatusCode());
throw new HttpRequests.HttpStatusException("Cannot login", method.getStatusCode(), method.getPath());
}
response = method.getResponseBodyAsString(1000);
}