                                                         (not= error :connect-exception)
                                                         (conj :has-connected)
 
-                                                        (and (not= error :connect-exception)
-                                                             (not= error :timeout-exception))
+                                                        (not (contains? connection-errors error))
                                                         (conj :has-responded))))))
             health-check-refs (map (fn [instance]
                                      (let [chan (async/promise-chan)]

    (if-not service
      service->service-instances'
      (let [{:strs [health-check-url]} (service-id->service-description-fn (:id service))
            update-unhealthy-instance (fn [instance status error]
                                        (-> instance
                                            (assoc :healthy? false

              {:keys [status error]} (async/<! (http/get http-client instance-health-check-url))
              error-flag (cond
                           (instance? ConnectException error) :connect-exception
                           (instance? EOFException error) :hangup-exception
                           (instance? SocketTimeoutException error) :timeout-exception
                           (instance? TimeoutException error) :timeout-exception)]
          (log-health-check-issues service-instance instance-health-check-url status error)
