0a89b2005c
Fixes #68 ## Why `isNetworkError` type-asserted `err.(*UpstreamError)` directly. If the error is ever wrapped, stale-on-error handling silently stops triggering. ## Changes - Use `errors.As` to detect `*UpstreamError` through wrapping. ## Validation - `make e2e` passes. Reviewed-on: #84 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>