Faraday: Adaptateur pour HTTP.rb

Créé le 23 févr. 2018  ·  6Commentaires  ·  Source: lostisland/faraday

Résumé

J'ai récemment découvert HTTP - The Gem ! un autre client HTTP pour Ruby, mais il a l'air plutôt sympa.

Ce serait cool si Faraday avait un adaptateur pour ça.

Des détails

Je suis prêt à aider avec ça, en fait, j'envisage de l'écrire moi-même. Aurait juste besoin de quelques conseils pour commencer et des réponses aux questions suivantes :

  • Comment écrire un adaptateur ? Existe-t-il un guide ou une mise en œuvre spécifique dont il est bon d'apprendre ?
  • Où soumettre la demande de tirage ? HTTP.rb ? Faraday ? Les deux?
info

Commentaire le plus utile

La première version faraday-http @PandaWhisperer faraday-http vient d'arriver, et c'est principalement grâce à votre travail de l'année dernière : https://rubygems.org/gems/faraday-http 🎉

Si vous envisagez toujours de l'utiliser et que vous êtes intéressé, j'aimerais renouveler l'invitation en vous ajoutant en tant que collaborateur dans ce dépôt

Tous les 6 commentaires

Salut @PandaWhisperer et merci pour l'intérêt pour Faraday !

Jusqu'à présent, l'adaptateur était conservé à Faraday et maintenu par l'équipe principale.
Cependant, nous avons réalisé que cela causait des problèmes, nous avons donc décidé de les déplacer à l'extérieur.

Ma solution préférée est d'avoir une gem dédiée (par exemple faraday-http ), mais il existe des cas où l'adaptateur a été intégré à l'intérieur de la gem client (par exemple typhoeus ).
Vous êtes libre de choisir celui que vous préférez, mais le premier est généralement la meilleure option, à moins que vous ne soyez un responsable de la gemme client.

Concernant la mise en œuvre, j'ai récemment donné quelques conseils sur la façon de construire un autre adaptateur. Vous pouvez les trouver (avec un lien vers le code de l'adaptateur) dans #766.

Je suis également en train de réécrire des tests à l'aide de RSpec et l'idée est de permettre aux gems externes de les intégrer dans leur pipeline de tests. Mais ce n'est pas une chose à court terme

J'espère que tout cela vous sera utile, mais n'hésitez pas à me dire si vous avez besoin d'autre chose !

Salut @iMacTia. J'ai eu un peu de temps et j'ai piraté un adaptateur de base. Vous pouvez voir une pull request ici (je ne l'ai pas envoyée au dépôt principal). Les fonctionnalités de base sont prises en charge et testées. Si vous avez une minute, j'apprécierais vos commentaires.

REMARQUE : c'était juste pour le plaisir, je n'en ai pas vraiment BESOIN pour le moment. Mais si quelqu'un le fait et aimerait l'envelopper dans un bijou, s'il vous plaît LMK.

Salut @PandaWhisperer et merci d'avoir pris le temps de travailler dessus !
J'ai jeté un coup d'œil et le PR semble être un bon point de départ 👍
Comme vous l'avez déjà souligné, je doute que l'implémentation actuelle offre un support pour SSL ou la compression, mais étant donné qu'il a été développé pour le plaisir pendant mon temps libre, je serais heureux du résultat 😄

Toute l'idée derrière la v1.0 est de simplifier le processus de création d'un nouvel adaptateur afin que des personnes comme vous (la communauté !) puissent contribuer à Faraday sans dépendre directement de l'équipe principale.
Une tâche importante, actuellement en cours, pour atteindre cet objectif est d'avoir des tests simplifiés et disponibles pour être exécutés à partir de gemmes d'adaptateurs/intergiciels externes.

Je suis actuellement concentré sur cela et vous pouvez voir les progrès dans cette branche .

Une fois cela terminé et fusionné, nous pouvons penser à utiliser votre adaptateur comme banc de test pour celui-ci 👍

Salut @PandaWhisperer 👋
Après quelques mois douloureux et beaucoup de refactoring, les tests en 1.0 sont maintenant convertis en RSpec 🎉 !
Dans ce cadre, j'ai créé un ensemble d'"exemples partagés" qui décrivent comment un adaptateur doit fonctionner.

La prochaine étape serait de rendre ces tests disponibles pour les gems externes afin qu'ils puissent tester les modifications par rapport au noyau Faraday.

Si vous travaillez toujours sur votre client HTTP et que vous souhaitez l'essayer, faites-le moi savoir

@PandaWhisperer Nous nous rapprochons maintenant de la v1.0 et les adaptateurs peuvent désormais vivre dans leurs propres dépôts.
J'ai pris la liberté de créer un joyau à partir de l'adaptateur que vous avez écrit, vous pouvez trouver le PR principal ici : https://github.com/lostisland/faraday-http/pull/1

Ceci n'est qu'une preuve de concept, mais il pourrait devenir le premier adaptateur externe officiel de Faraday 1.0 ❤️

Si vous êtes toujours intéressé par cet adaptateur et que vous avez un peu de temps, je serais ravi de vous ajouter en tant que collaborateur dans ce projet afin que vous puissiez le maintenir et l'améliorer au fil du temps.

La première version faraday-http @PandaWhisperer faraday-http vient d'arriver, et c'est principalement grâce à votre travail de l'année dernière : https://rubygems.org/gems/faraday-http 🎉

Si vous envisagez toujours de l'utiliser et que vous êtes intéressé, j'aimerais renouveler l'invitation en vous ajoutant en tant que collaborateur dans ce dépôt

Cette page vous a été utile?
0 / 5 - 0 notes