Faraday: Adapter für HTTP.rb

Erstellt am 23. Feb. 2018  ·  6Kommentare  ·  Quelle: lostisland/faraday

Zusammenfassung

Kürzlich herausgefunden über HTTP - The Gem! ein HTTP-Client für Ruby, sieht aber ziemlich ordentlich aus.

Wäre cool wenn Faraday einen Adapter dafür hätte.

Einzelheiten

Ich bin bereit, dabei zu helfen, ich überlege sogar, es selbst zu schreiben. Für den Anfang bräuchte es nur ein paar Hinweise und Antworten auf die folgenden Fragen:

  • Wie schreibe ich einen Adapter? Gibt es eine Anleitung oder eine bestimmte Implementierung, aus der man gut lernen kann?
  • Wo kann der Pull-Request eingereicht werden? HTTP.rb? Faraday? Beide?
info

Hilfreichster Kommentar

@PandaWhisperer faraday-http erste Veröffentlichung ist gerade passiert, und das ist hauptsächlich deiner Arbeit im letzten Jahr zu verdanken: https://rubygems.org/gems/faraday-http 🎉

Falls Sie immer noch vorhaben, es zu verwenden, und Sie daran interessiert sind, möchte ich die Einladung erneuern, Sie als Mitbearbeiter in diesem Repository hinzuzufügen

Alle 6 Kommentare

Hallo @PandaWhisperer und danke für das Interesse an Faraday!

Bisher wurden Adapter in Faraday gehalten und vom Kernteam gewartet.
Wir haben jedoch festgestellt, dass dies einige Probleme verursacht, und haben uns daher entschieden, sie nach draußen zu verlegen.

Meine bevorzugte Lösung ist ein dediziertes Gem (zB faraday-http ), aber es gibt Fälle, in denen der Adapter in das Client-Gem integriert wurde (zB typhoeus ).
Sie können frei wählen, welche Option Sie bevorzugen, aber erstere ist normalerweise die beste Option, es sei denn, Sie sind ein Betreuer des Client-Edelsteins.

In Bezug auf die Implementierung habe ich kürzlich einige Ratschläge gegeben, wie man einen weiteren Adapter baut. Sie finden sie (zusammen mit einem Link zum Adaptercode) in #766.

Ich bin auch dabei, Tests mit RSpec neu zu schreiben, und die Idee ist, externen Gems zu ermöglichen, diese in ihre Testpipeline zu integrieren. Aber das ist keine kurzfristige Sache 😅

Ich hoffe, das ist alles nützlich, aber lass es mich wissen, wenn du noch etwas brauchst 👍!

Hallo @iMacTia. Ich hatte etwas Zeit und hackte mir einen Basisadapter zusammen. Sie können hier einen Pull-Request sehen (ich habe ihn nicht an das Hauptrepo gesendet). Grundfunktionen werden unterstützt und getestet. Wenn Sie eine Minute Zeit haben, würde ich mich über Ihr Feedback freuen.

HINWEIS: Das war nur zum Spaß, ich brauche das jetzt nicht wirklich. Aber wenn es jemand tut und es in ein Juwel packen möchte, bitte LMK.

Hallo @PandaWhisperer und danke, dass hast, daran zu arbeiten!
Ich habe kurz nachgesehen und die PR sieht nach einem guten Ausgangspunkt aus 👍
Wie Sie bereits erwähnt haben, bezweifle ich, dass die aktuelle Implementierung SSL oder Komprimierung unterstützt, aber da sie aus Spaß in der Freizeit entwickelt wurde, wäre ich mit dem Ergebnis zufrieden

Die ganze Idee hinter v1.0 besteht darin, den Prozess der Erstellung eines neuen Adapters kinderleicht zu machen, damit Leute wie Sie (die Community!) zu Faraday beitragen können, ohne direkt vom Kernteam abhängig zu sein.
Eine wichtige, derzeit in Bearbeitung befindliche Aufgabe, um dieses Ziel zu erreichen, besteht darin, Tests zu vereinfachen und verfügbar zu machen, um von externen Adapter-/Middleware-Gems ausgeführt zu werden.

Ich konzentriere mich derzeit darauf und Sie können die Fortschritte in diesem Zweig sehen .

Sobald das abgeschlossen und zusammengeführt ist, können wir uns vorstellen, Ihren Adapter als Testpult dafür zu verwenden 👍

Hallo @PandaWhisperer 👋
Nach einigen schmerzhaften Monaten und viel Refactoring wurden nun Tests in 1.0 auf RSpec umgestellt 🎉 !
Als Teil davon habe ich eine Reihe von "gemeinsamen Beispielen" erstellt, die beschreiben, wie ein Adapter funktionieren sollte.

Der nächste Schritt wäre, diese Tests für externe Gems verfügbar zu machen, damit diese Änderungen gegenüber dem Faraday-Kern testen können.

Wenn Sie noch an Ihrem HTTP-Client arbeiten und es ausprobieren möchten, lassen Sie es mich bitte wissen 👍

@PandaWhisperer Wir
Ich habe mir die Freiheit genommen, aus dem von Ihnen geschriebenen Adapter ein Juwel zu bauen, Sie finden die Haupt-PR hier: https://github.com/lostisland/faraday-http/pull/1

Dies ist nur ein Proof of Concept, aber es könnte weiterhin der erste offizielle externe Adapter von Faraday 1.0 werden ❤️

Wenn Sie immer noch an diesem Adapter interessiert sind und etwas Zeit haben, würde ich Sie gerne als Mitarbeiter in dieses Projekt aufnehmen, damit Sie es im Laufe der Zeit pflegen und verbessern können.

@PandaWhisperer faraday-http erste Veröffentlichung ist gerade passiert, und das ist hauptsächlich deiner Arbeit im letzten Jahr zu verdanken: https://rubygems.org/gems/faraday-http 🎉

Falls Sie immer noch vorhaben, es zu verwenden, und Sie daran interessiert sind, möchte ich die Einladung erneuern, Sie als Mitbearbeiter in diesem Repository hinzuzufügen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen