diff --git a/platform/platform-api/src/com/intellij/util/io/HttpRequests.java b/platform/platform-api/src/com/intellij/util/io/HttpRequests.java index 98952a16bb33..f25f743625f3 100644 --- a/platform/platform-api/src/com/intellij/util/io/HttpRequests.java +++ b/platform/platform-api/src/com/intellij/util/io/HttpRequests.java @@ -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; diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java index 94bfe2307d51..9dc54791e98f 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java @@ -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); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java index da3af81ddacf..97ab3a3ba738 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java @@ -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); }