-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problema con nuevo encapsulamiento de NetworkError
.
#36
Comments
Hola @tomasmiguez, Como hack rápido para resolver tu problema, la excepción original de No me convence mucho mapear los errores de
Me inclino por la opción 2 ya que me parece más flexible. Qué opinás? En este momento no puedo dedicarle tiempo para implementarlo. Pero si están de acuerdo y dispuestos, adelante por supuesto, ni bien tengas el PR avisame y lo revisamos. Saludos! |
Dale, tiene sentido lo que mencionas. Voy a intentar implementarlo y paso el PR cuando esté. Las únicas 2 consideraciones serían que esta interfaz sea medio rara, nunca vi una gema que haga algo parecido. Y la otra que en primera instancia el único error que respondería true sería el de ConnectTimeoutError, así que hasta que se agreguen nuevos habría muchos falsos negativos en ese aspecto, pero si eso no molesta puedo probar de implementarlo. |
Perfecto. No creo que sean un problema esos falsos negativos. Siempre podemos ir ampliando la lista a medida que vayamos descubriendo otros casos. |
Hola,
recientemente migramos a la versión 2.x de esta gema, y observamos que empezaron a encapsular los errores de la gema
HTTPClient
, esto nos está trayendo problemas, ya que dicha gema tiene varios tipos de errores distintos que heredan deTimeoutError
(ConnectTimeoutError
,SendTimeoutError
,ReceiveTimeoutError
).Previamente lo que hacíamos era handlear el
ConnectTimeoutError
y hacer un retry, pero esto ya no es posible ya que no podemos distinguir los distintos tipos de timeouts. No queremos retryear los otros porque puede ser que modifiquen el estado del servicio que consultan.Sería posible cambiar esto? Una opción sería tener distintos errores de esta gema que encapsulen los distintos errores de
HTTPClient
, seguiría abstrayendo la gema que usan para hacer los requests pero sin perder información. Si les parece una alternativa aceptable podemos ver de implementarlo de nuestro lado. Además esto no rompería la API de esta gema porque los que ahora están handleandoNetworkError
podrían seguir haciendolo con normalidad, mientras que los que necesiten control mas granular podrían handlear, por ejemplo,ConnectNetworkError
(que heredaría deNetworkError
).Gracias!
The text was updated successfully, but these errors were encountered: