Faraday: Adaptador para HTTP.rb

Creado en 23 feb. 2018  ·  6Comentarios  ·  Fuente: lostisland/faraday

Resumen

Descubrí recientemente HTTP - ¡La joya! otro cliente HTTP para Ruby, pero se parece a una muy ordenada.

Sería genial si Faraday tuviera un adaptador para ello.

Detalles

Estoy dispuesto a ayudar con eso, de hecho, estoy considerando escribirlo yo mismo. Solo necesitaría algunos consejos para comenzar y respuestas a las siguientes preguntas:

  • ¿Cómo escribir un adaptador? ¿Existe una guía o una implementación específica de la que sea bueno aprender?
  • ¿Dónde enviar la solicitud de extracción? HTTP.rb? Faraday? ¿Ambos?
info

Comentario más útil

@PandaWhisperer faraday-http primer lanzamiento acaba de ocurrir, y es principalmente gracias a su trabajo el año pasado: https://rubygems.org/gems/faraday-http 🎉

En caso de que todavía esté planeando usarlo y esté interesado, me gustaría renovar la invitación para agregarlo como colaborador en ese repositorio.

Todos 6 comentarios

¡Hola @PandaWhisperer y gracias por el interés en Faraday!

Hasta ahora, el adaptador se ha mantenido en Faraday y el equipo central lo ha mantenido.
Sin embargo, nos dimos cuenta de que esto causaba algunos problemas, por lo que decidimos trasladarlos al exterior.

Mi solución preferida es tener una gema dedicada (por ejemplo, faraday-http ), pero hay casos en los que el adaptador se ha integrado dentro de la gema del cliente (por ejemplo, typhoeus ).
Eres libre de elegir el que prefieras, pero el primero suele ser la mejor opción a menos que seas un mantenedor de la gema del cliente.

Con respecto a la implementación, recientemente di algunos consejos sobre cómo construir otro adaptador. Puede encontrarlos (junto con un enlace al código del adaptador) en # 766.

También estoy en el proceso de reescribir las pruebas usando RSpec y la idea es permitir que las gemas externas las integren en su canal de pruebas. Pero eso no es algo a corto plazo 😅

Espero que todo esto sea útil, pero avíseme si necesita algo más 👍.

Hola @iMacTia. Tuve algo de tiempo y pirateé un adaptador básico. Puede ver una solicitud de extracción aquí (no la envié al repositorio principal). Las funciones básicas son compatibles y probadas. Si tiene un minuto, agradecería sus comentarios.

NOTA: esto fue solo por diversión, en realidad no NECESITO esto en este momento. Pero si alguien lo hace y le gustaría envolverlo en una gema, por favor LMK.

Hola @PandaWhisperer y gracias por tomarse el tiempo para trabajar en esto.
Eché un vistazo rápido y las relaciones públicas parecen un buen punto de partida 👍
Como ya señaló, dudo que la implementación actual ofrezca soporte para SSL o compresión, pero considerando que fue desarrollado para divertirse en el tiempo libre, estaría feliz con el resultado 😄

La idea detrás de la v1.0 es simplificar el proceso de creación de un nuevo adaptador para que personas como usted (¡la comunidad!) Puedan contribuir a Faraday sin depender directamente del equipo central.
Una tarea importante, actualmente en proceso, para alcanzar ese objetivo es tener pruebas simplificadas y disponibles para ser ejecutadas desde adaptadores externos / gemas de middleware.

Actualmente estoy enfocado en eso y puedes ver el progreso en esta rama .

Una vez que esté completo y fusionado, podemos pensar en usar su adaptador como un escritorio de prueba para él 👍

Hola @PandaWhisperer 👋
Después de algunos meses dolorosos y mucha refactorización, ¡las pruebas en 1.0 ahora se han convertido a RSpec 🎉!
Como parte de esto, he creado un conjunto de "ejemplos compartidos" que describen cómo debería funcionar un adaptador.

El siguiente paso sería hacer que estas pruebas estén disponibles para gemas externas para que puedan probar los cambios contra el núcleo de Faraday.

Si todavía está trabajando en su cliente HTTP y le gustaría intentarlo, hágamelo saber 👍

@PandaWhisperer Ahora nos estamos acercando a la v1.0 y los adaptadores ahora pueden vivir en sus propios repositorios.
Tomé la libertad de construir una joya con el adaptador que escribiste, puedes encontrar el PR principal aquí: https://github.com/lostisland/faraday-http/pull/1

Esto es solo una prueba de concepto, pero puede continuar convirtiéndose en el primer adaptador externo oficial de Faraday 1.0 ❤️

Si todavía está interesado en ese adaptador y tiene algo de tiempo, con mucho gusto lo agregaría como colaborador en ese proyecto para que pueda mantenerlo y mejorarlo con el tiempo.

@PandaWhisperer faraday-http primer lanzamiento acaba de ocurrir, y es principalmente gracias a su trabajo el año pasado: https://rubygems.org/gems/faraday-http 🎉

En caso de que todavía esté planeando usarlo y esté interesado, me gustaría renovar la invitación para agregarlo como colaborador en ese repositorio.

¿Fue útil esta página
0 / 5 - 0 calificaciones