Faraday: Adaptador para HTTP.rb

Criado em 23 fev. 2018  ·  6Comentários  ·  Fonte: lostisland/faraday

Resumo

Descobri recentemente sobre HTTP - The Gem! outro cliente HTTP para Ruby, mas parece um bem legal.

Seria legal se Faraday tivesse um adaptador para isso.

Detalhes

Estou disposto a ajudar com isso, na verdade, estou pensando em escrevê-lo sozinho. Precisaria apenas de algumas dicas para começar e respostas às seguintes perguntas:

  • Como escrever um adaptador? Existe um guia ou uma implementação específica com a qual podemos aprender?
  • Onde enviar a solicitação de pull? HTTP.rb? Faraday? Ambos?
info

Comentários muito úteis

@PandaWhisperer faraday-http primeiro lançamento acabou de acontecer, e é principalmente graças ao seu trabalho no ano passado: https://rubygems.org/gems/faraday-http 🎉

Caso você ainda esteja planejando usá-lo e esteja interessado, gostaria de renovar o convite para adicioná-lo como um colaborador nesse repo

Todos 6 comentários

Olá @PandaWhisperer e obrigado pelo interesse no Faraday!

Até agora, o adaptador foi mantido em Faraday e mantido pela equipe principal.
No entanto, percebemos que isso causou alguns problemas, então decidimos transferi-los para fora.

Minha solução preferida é ter uma gema dedicada (por exemplo, faraday-http ), mas há casos em que o adaptador foi integrado dentro da gema do cliente (por exemplo, typhoeus ).
Você é livre para escolher o que preferir, mas o primeiro é geralmente a melhor opção, a menos que você seja o mantenedor da gema do cliente.

Com relação à implementação, recentemente dei alguns conselhos sobre como construir outro adaptador. Você pode encontrá-los (junto com um link para o código do adaptador) em # 766.

Também estou no processo de reescrever testes usando RSpec e a ideia é permitir que gemas externas integrem esses testes em seu pipeline de testes. Mas isso não é uma coisa de curto prazo 😅

Espero que tudo isso seja útil, mas entre em contato se precisar de mais alguma coisa 👍!

Olá @iMacTia. Eu passei algum tempo hackeando um adaptador básico. Você pode ver uma solicitação pull aqui (não a enviei para o repo principal). Recursos básicos são suportados e testados. Se você tiver um minuto, gostaria de receber seus comentários.

NOTA: isso foi apenas para diversão, eu realmente não preciso disso agora. Mas se alguém quiser e quiser embrulhá-lo em uma joia, por favor, LMK.

Olá @PandaWhisperer e obrigado por
Dei uma olhada rápida e o PR parece um bom ponto de partida 👍
Como você já observou, duvido que a implementação atual ofereça suporte para SSL ou compressão, mas considerando que foi desenvolvida para diversão nas horas vagas, ficaria feliz com o resultado 😄

A ideia por trás da v1.0 é simplificar o processo de criação de um novo adaptador para que pessoas como você (a comunidade!) Possam contribuir com o Faraday sem depender diretamente da equipe principal.
Uma tarefa importante, atualmente em curso, para atingir esse objetivo é ter testes simplificados e disponíveis para serem executados a partir de gems de adaptador / middleware externos.

Atualmente estou focado nisso e você pode ver o progresso neste ramo .

Depois de concluído e mesclado, podemos pensar em usar seu adaptador como uma mesa de teste para ele 👍

Olá @PandaWhisperer 👋
Após alguns meses dolorosos e muita refatoração, os testes em 1.0 foram convertidos para RSpec 🎉!
Como parte disso, criei um conjunto de "exemplos compartilhados" que descreve como um adaptador deve funcionar.

O próximo passo seria disponibilizar esses testes para gemas externas para que eles possam testar as mudanças no núcleo Faraday.

Se você ainda está trabalhando em seu cliente HTTP e gostaria de experimentá-lo, por favor me avise 👍

@PandaWhisperer Agora estamos nos aproximando da v1.0 e os adaptadores podem agora viver em seus próprios repositórios.
Tomei a liberdade de construir uma joia com o adaptador que você escreveu. Você pode encontrar o PR principal aqui: https://github.com/lostisland/faraday-http/pull/1

Esta é apenas uma prova de conceito, mas pode continuar se tornando o primeiro adaptador externo oficial do Faraday 1.0 ❤️

Se você ainda estiver interessado nesse adaptador e tiver algum tempo, ficaria feliz em adicioná-lo como um colaborador nesse projeto para que possa mantê-lo e aprimorá-lo ao longo do tempo.

@PandaWhisperer faraday-http primeiro lançamento acabou de acontecer, e é principalmente graças ao seu trabalho no ano passado: https://rubygems.org/gems/faraday-http 🎉

Caso você ainda esteja planejando usá-lo e esteja interessado, gostaria de renovar o convite para adicioná-lo como um colaborador nesse repo

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

yusefu picture yusefu  ·  3Comentários

ryanbyon picture ryanbyon  ·  3Comentários

JasonBarnabe picture JasonBarnabe  ·  4Comentários

jedeleh picture jedeleh  ·  3Comentários

mattmill30 picture mattmill30  ·  4Comentários