diff --git a/proxy/fails/classifier_group.go b/proxy/fails/classifier_group.go index d0a1da5d..b790c014 100644 --- a/proxy/fails/classifier_group.go +++ b/proxy/fails/classifier_group.go @@ -24,11 +24,27 @@ var RetriableClassifiers = ClassifierGroup{ } var FailableClassifiers = ClassifierGroup{ - RetriableClassifiers, + Dial, + AttemptedTLSWithNonTLSBackend, + HostnameMismatch, + RemoteFailedCertCheck, + RemoteHandshakeFailure, + RemoteHandshakeTimeout, + UntrustedCert, + ExpiredOrNotYetValidCertFailure, ConnectionResetOnRead, } -var PrunableClassifiers = RetriableClassifiers +var PrunableClassifiers = ClassifierGroup{ + Dial, + AttemptedTLSWithNonTLSBackend, + HostnameMismatch, + RemoteFailedCertCheck, + RemoteHandshakeFailure, + RemoteHandshakeTimeout, + UntrustedCert, + ExpiredOrNotYetValidCertFailure, +} // Classify returns true on errors that are retryable func (cg ClassifierGroup) Classify(err error) bool { diff --git a/proxy/fails/classifier_group_test.go b/proxy/fails/classifier_group_test.go index 8beebccb..649414b5 100644 --- a/proxy/fails/classifier_group_test.go +++ b/proxy/fails/classifier_group_test.go @@ -56,7 +56,7 @@ var _ = Describe("ClassifierGroup", func() { }) Describe("prunable", func() { - It("matches hostname mismatch", func() { + It("matches prunable errors", func() { pc := fails.PrunableClassifiers Expect(pc.Classify(&net.OpError{Op: "dial"})).To(BeTrue()) @@ -69,8 +69,6 @@ var _ = Describe("ClassifierGroup", func() { Expect(pc.Classify(x509.UnknownAuthorityError{})).To(BeTrue()) Expect(pc.Classify(x509.CertificateInvalidError{Reason: x509.Expired})).To(BeTrue()) Expect(pc.Classify(errors.New("i'm a potato"))).To(BeFalse()) - Expect(pc.Classify(fails.IdempotentRequestEOFError)).To(BeTrue()) - Expect(pc.Classify(fails.IncompleteRequestError)).To(BeTrue()) }) }) })