Я хочу начать собирать список того, что мы хотим изменить в Фарадея. Здесь пока нет ничего конкретного.
lib/faraday/params_encoders/[nested, flat]
?Faraday::Utils
Faraday::Connection
=> Faraday::Client
#response
классов ошибок, связанных с HTTP (RaiseError, RetriableRequest и т. Д.) [# 1284]Faraday::Connection
и Faraday::RackBuilder
use
/ adapter
/ etcFaraday::RackBuilder#handlers
=> Faraday::Connection#handlers
lib/faraday/middleware/*
rescue + reopen
которая представляет собой несколько строк кода и удалит логику связывания / перевода для драгоценного камня, см. https://github.com/drbrain/net-http-persistent/pull/100Спасибо, отличные предложения!
сделать net-http-persistent менее хакерским, сохранив объект подключения, чтобы нам не нужен глобальный кеш
Ах да, еще одна причина, по которой необходимо отказаться от реализации семантики Rack Фарадея для классов адаптера и промежуточного программного обеспечения. Если текущий адаптер был долгоживущие Faraday::Connection#adapter
собственности, net-http
адаптер может держать на объект подключения. Я просто добавил «Пересмотреть внутренний API адаптера / промежуточного программного обеспечения (семантика drop Rack adapter)» в список желаний, чтобы поддержать это.
сделать net-http-persistent не использовать драгоценный камень
Я на борту. Спасибо за указатель на пиар.
разрешить использование net-http-pipeline
Фарадей действительно поддерживает параллельные запросы, но я не уверен, можно ли использовать net-http-pipeline
для их реализации для net-http
. Я добавил в список желаний «Revisit pipelining or parallel requests (net-http-pipeline, typhoeus)».
Для конвейера: я решил не использовать это в своих проектах, потому что это означает
переписать большую часть логики обработчика, так что низкий приоритет для меня
Пт, 31 мая 2019 г., 10:31, риск опасности olson [email protected]
написал:
Спасибо, отличные предложения!
сделать net-http-persistent менее хакерским, сохранив объект подключения
поэтому нам не нужен глобальный кешАх да, еще одна причина, по которой реализация семантики Rack Фарадеем для
классы адаптера и промежуточного программного обеспечения должны уйти. Если текущий адаптер был
долгоживущее свойство Faraday :: Connection # адаптера, адаптер net-http
может держаться за объект связи. Я только что добавил "Revisit
внутренний API адаптера / промежуточного программного обеспечения (семантика перетаскивания адаптера стойки) в
список желаний, чтобы поддержать это.сделать net-http-persistent не использовать драгоценный камень
Я на борту. Спасибо за указатель на пиар.
разрешить использование net-http-pipeline
Фарадей поддерживает параллельные запросы, но я не уверен, что мы
может использовать net-http-pipeline для их реализации для net-http. я добавил
"Пересмотрите конвейерные или параллельные запросы (net-http-pipeline, typhoeus)", чтобы
Список пожеланий.-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/lostisland/faraday/issues/953?email_source=notifications&email_token=AAACYZ5IS7IRWR45K7IFKL3PYFOILA5CNFSM4HAAQSK2YY3PNVWWK3TUL52HS4DFVREXG43
или отключить поток
https://github.com/notifications/unsubscribe-auth/AAACYZ6EKR7M4ARR47IAI23PYFOILANCNFSM4HAAQSKQ
.
@grosser , возможно, вы слышали, что сейчас мы находимся в процессе вывода адаптеров и промежуточного программного обеспечения из Faraday.
Мы уже проделали большую работу, чтобы сделать это как можно проще, включая экспорт тестов и предоставление нескольких примеров ( faraday-net_http faraday -http )
Учитывая ваш прошлый вклад, мне было интересно, не хотите ли вы стать владельцем net_http_persistent?
Все, что вам нужно сделать, это выделить его в отдельное репо (это может быть ваш пользователь!), Как мы это делали для приведенных выше примеров, и выпустить версию 1.0, которая точно такая же, как текущая. Затем мы добавим его в спецификацию драгоценного камня Фарадея для обратной совместимости. Затем планируется отказаться от этих зависимостей для Faraday v2.0.
Оттуда вы можете изменить / реорганизовать его по своему усмотрению и внести все критические изменения, которые захотите 😄
Пожалуйста, дайте мне знать, если вы заинтересованы или нет 🙌! Я также рад помочь с первой миграцией, так как я все равно планирую выполнить эту работу.
звучит легко, я попробую
В четверг, 31 декабря 2020 г., в 4:03 Мэтт [email protected] написал:
@grosser https://github.com/grosser , возможно, вы слышали, что мы сейчас находимся в
процесс вытеснения адаптеров и промежуточного программного обеспечения из Фарадея.
Мы уже проделали большую работу, чтобы сделать это как можно проще,
включая экспорт тестов и предоставление нескольких примеров (faraday-net_http
Фарадей-http)Учитывая ваш прошлый вклад, мне было интересно, не хотите ли вы
владение net_http_persistent?
Все, что вам нужно сделать, это выделить его в отдельное репо (это может быть
под своим пользователем!), как мы это делали для приведенных выше примеров, и выпускаем версию 1.0
который в точности совпадает с текущим. Затем мы добавим его в
Спецификация драгоценного камня Фарадея для обратной совместимости.Оттуда вы можете изменить / реорганизовать его по своему усмотрению и
внесение всех критических изменений, которые вы хотите 😄
Пожалуйста, дайте мне знать, если вы заинтересованы или нет 🙌! Я тоже рада помочь
с первой миграцией, так как я все равно планирую выполнить эту работу-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/lostisland/faraday/issues/953#issuecomment-752938926 ,
или отказаться от подписки
https://github.com/notifications/unsubscribe-auth/AAACYZYOKFNQGJM5GXZQJMLSXRR73ANCNFSM4HAAQSKQ
.
@grosser Замечательно ! Пожалуйста, кричите, если вам нужна помощь!
@julik, пожалуйста, посмотрите мой комментарий выше для @grosser , не хотели бы вы сделать что-то подобное для адаптера Patron
😄?
Привет, ребята, счастливого 2021 года! Я в порядке, принимая на себя ответственность за адаптер Patron, но проблема, с которой я столкнулся при его настройке, заключалась в том, что я обнаружил, что использование макетов в общих тестах очень трудно управлять (также учитывая, что веб-макет патчи Patron в нескольких местах, без это действительно требуется). Выполняя извлечение, я наткнулся на тот факт, что тогда мне также придется стать соавтором переопределений веб-макетов Patron - это одно, и вместо того, чтобы проверять, действительно ли работает то, что должно работать, я буду проверять, работает ли он работает с Webmock. Это немного личное, но относительно сложной темой на 2020 год для меня была необходимость убеждать людей в вещах, и я исчерпал свой «убедительный» бюджет на этот год. И сильно ушел в овердрафт, и это на самом деле стало небольшим риском для моего благополучия 😄 Я могу добраться от пункта А до пункта Б очень безопасным и эффективным способом, но с количеством возвратно-поступательных движений я могу справиться с этим. путь намного ниже, чем был раньше. Это также связано с тем фактом, что я являюсь частью организации, которая быстро растет. Я не вправе требовать для этого уступок - в конце концов, это мои личные проблемы. Но я должен планировать свое участие в делах.
Итак: если мы сможем пересмотреть это решение (необходимость использовать webmock вместо фактических запросов, для чего предназначены адаптеры), я в порядке, беру на себя ответственность за оптовую интеграцию патронов.
@julik полностью
Мы сделали тесты доступными для внешних пользователей, чтобы переход от встроенных адаптеров к внешним адаптерам был как можно более плавным и простым, и, поскольку Faraday v1.0 по-прежнему будет связывать адаптеры (но включены в виде драгоценных камней, а не файлов в папке lib), тогда имеет смысл использовать их как есть при извлечении репо в новый гем.
НО ЭТО ЭТО! После того, как гем адаптера v1.0 был создан и добавлен в Faraday для обратной совместимости, как мы сделали для адаптера Net::HTTP
, вы можете запустить путь v2.0 для гем адаптера и решить Что с этим делать.
Это, конечно, включает в себя переписывание тестов с использованием любой структуры, которая вам нравится, и использование реальных вызовов, если хотите.
Как только драгоценный камень оказывается на так называемой «земле пользователя», мы больше не имеем права принимать решения, и все решения должны приниматься сообществом и владельцами драгоценных камней.
И я скажу вам больше, мы уже обсуждаем внутри компании создание своего рода набора «интеграционных тестов» с реальными запросами. Основные особенности этого пакета (все еще обсуждаются):
@technoweenie даже начала работать над этим: https://github.com/technoweenie/faraday-live
Так что, если вы тоже хотели бы помочь с этим, насколько я помню, у вас было несколько интересных идей о том, как это могло бы работать, мы также будем приветствовать ваши комментарии и помощь на этом фронте 😃
Я также рад помочь, где могу (спасибо @olleolleolle за то, что показал мне это) :)
Я видел https://github.com/lostisland/faraday/projects/3. С точки зрения разделения их на драгоценные камни, есть ли планы создать на GitHub фарадеевскую организацию для хранения всех отдельных драгоценных камней?
@iMacTia ,
@ MikeRogers0 Эта организация, lostisland, является домом для faraday-http , гемифицированного адаптера. Может, больше адаптеров просто живет в этой организации?
Потрясающие! Вчера вечером я полностью скрыл, что
На следующей неделе я рассмотрю, что было изменено, чтобы переместить адаптер Net::HTTP
в драгоценный камень, а затем скопировать его за Net::HTTP::Persistent
:) Чтобы ускорить процесс, я начну в своей личной учетной записи, один раз похоже, что он обрел форму, я поставлю ссылку, и мы можем передать ее.
Спасибо @ MikeRogers0 , это
@grosser также хорошо осведомлен об адаптере Net::HTTP::Persistent
который вносил свой вклад в него в прошлом, поэтому, пожалуйста, не стесняйтесь держать его в курсе.
Что касается расположения адаптеров, я лично не очень-то думаю, где они должны находиться.
Для меня имеет смысл жить под личным аккаунтом, если этот человек также является основным сопровождающим.
Так что если вас это устраивает, я не против оставить адаптер под своей учетной записью 😄
@ MikeRogers0 @julik @grosser Я создал новое https://github.com/lostisland/faraday-adapter-template
Пожалуйста, считайте это очень похожим на WIP и не стесняйтесь оставлять любые отзывы, чтобы улучшить его!
@iMacTia Это
Я настроил https://github.com/MikeRogers0/faraday-net_http_persistent на его основе - я настроил его для передачи в @lostisland - Вы хотите
Фантастическая работа @ MikeRogers0 🎉, к тому же очень быстрая!
Я проверял, как работает передача репозитория, и это немного сложнее при переходе от пользователя к организации, поэтому, если вы все еще готовы передать это в `lostisland, не могли бы вы сначала передать его мне, и я передам его В себе? Затем я добавлю вас и @grosser в качестве сопровождающих к этому репо 👍
Также рад слышать, что репозиторий шаблонов был полезен! Если у вас есть какие-либо отзывы (что-то неясное, все, что вы хотели, опечатки и т. Д.), Пожалуйста, дайте мне знать или не стесняйтесь открывать PR против этого 😄
Следующими шагами будет выпуск первой версии гема в Rubygems, удаление адаптера Net::HTTP::Persistent
из Faraday и подключение к нему нового гема.
Я могу позаботиться о выпуске, на ваше усмотрение, хотите ли вы провести пиар подмены против Фарадея или нет ( здесь пиар о том, как мы это сделали за Net::HTTP
)
@iMacTia - Отлично, перенос начался :)
Также рад слышать, что репозиторий шаблонов был полезен! Если у вас есть отзывы
Я добавил действие GitHub и переписал Readme. Я напомнил о внесенных мною основных изменениях, которые, на мой взгляд, могут быть полезными :) Я также заменил Rubocop на StandardRB, что я хотел бы поддержать.
Следующие шаги - выпустить первую версию гема в Rubygems, удалить адаптер Net :: HTTP :: Persistent из Faraday и подключить туда ваш новый гем.
Потрясающие! Я займусь пиаром
@ MikeRogers0 Репозиторий @grosser перенесен, и вы оба должны были получить приглашение 👍
https://github.com/lostisland/faraday-net_http_persistent
@ MikeRogers0 спасибо за отзыв 🙏!
@ MikeRogers0 faraday-net_http_persistent
теперь доступен на Rubygems 🎉
https://rubygems.org/gems/faraday-net_http_persistent
Самый полезный комментарий
Потрясающие! Вчера вечером я полностью скрыл, что
На следующей неделе я рассмотрю, что было изменено, чтобы переместить адаптер
Net::HTTP
в драгоценный камень, а затем скопировать его заNet::HTTP::Persistent
:) Чтобы ускорить процесс, я начну в своей личной учетной записи, один раз похоже, что он обрел форму, я поставлю ссылку, и мы можем передать ее.