@@ -77,10 +77,13 @@ func (gw *Gateway) logJWKError(logger *logrus.Entry, jwkURL string, err error) {
7777 return
7878 }
7979
80+ errStr := err .Error ()
81+
8082 // content/JSON errors
8183 var syntaxErr * json.SyntaxError
8284 var unmarshalErr * json.UnmarshalTypeError
83- if errors .As (err , & syntaxErr ) || errors .As (err , & unmarshalErr ) || strings .Contains (err .Error (), "invalid character" ) {
85+
86+ if errors .As (err , & syntaxErr ) || errors .As (err , & unmarshalErr ) || strings .Contains (errStr , "invalid character" ) {
8487 logger .WithError (err ).Errorf ("Invalid JWKS retrieved from endpoint: %s" , jwkURL )
8588 return
8689 }
@@ -90,30 +93,14 @@ func (gw *Gateway) logJWKError(logger *logrus.Entry, jwkURL string, err error) {
9093 var netOpErr * net.OpError
9194 var dnsErr * net.DNSError
9295
93- if errors .As (err , & urlErr ) {
94- logger .WithError (err ).Errorf ("JWKS endpoint resolution failed: invalid or unreachable host %s" , jwkURL )
95- return
96- }
97-
98- // DNS errors
99- if errors .As (err , & dnsErr ) {
100- logger .WithError (err ).Errorf ("JWKS endpoint resolution failed: invalid or unreachable host %s" , jwkURL )
101- return
102- }
103-
104- // connection refused
105- if errors .As (err , & netOpErr ) {
106- if errors .Is (netOpErr , syscall .ECONNREFUSED ) {
107- logger .WithError (err ).Errorf ("JWKS endpoint resolution failed: invalid or unreachable host %s" , jwkURL )
108- return
109- }
110- }
111-
112- // fallback check strings
113- errStr := err .Error ()
114- if strings .Contains (errStr , "dial tcp" ) ||
96+ isNetworkError := errors .As (err , & urlErr ) ||
97+ errors .As (err , & dnsErr ) ||
98+ (errors .As (err , & netOpErr ) && errors .Is (netOpErr , syscall .ECONNREFUSED )) ||
99+ strings .Contains (errStr , "dial tcp" ) ||
115100 strings .Contains (errStr , "no such host" ) ||
116- strings .Contains (errStr , "connection refused" ) {
101+ strings .Contains (errStr , "connection refused" )
102+
103+ if isNetworkError {
117104 logger .WithError (err ).Errorf ("JWKS endpoint resolution failed: invalid or unreachable host %s" , jwkURL )
118105 return
119106 }
0 commit comments