okhttp icon indicating copy to clipboard operation
okhttp copied to clipboard

Update isHealthy check to be safer

Open seljabali opened this issue 1 year ago • 3 comments

Fixes https://github.com/square/okhttp/issues/8447

seljabali avatar Aug 07 '24 13:08 seljabali

But maybe masks an underlying bug? Those values shouldn't be null at this point.

prbprbprb avatar Aug 14 '24 12:08 prbprbprb

But maybe masks an underlying bug? Those values shouldn't be null at this point.

Question is: Should isHealthy() return false or throw an exception when these values are null?

At face value, it should return false for this method, however throw an exception elsewhere when these values are non-null.

seljabali avatar Aug 14 '24 16:08 seljabali

My reading of the code is that these are preconditions, hence the use of !! in Kotlin whereas in Java we would use something like Objects.requireNotNull(). Because if the preconditions aren't met, something has already failed previously.

Caveat: I'm not an okhttp expert but happened to be looking at a similar exception in okhttp2 earlier today.

prbprbprb avatar Aug 14 '24 16:08 prbprbprb

Shouldn't be possible after https://github.com/square/okhttp/pull/8514/files, or at least this can't be applied.

That said, it's possible I just moved a logic bug up higher, but this fix isn't the right one anymore.

yschimke avatar Jan 04 '25 15:01 yschimke