CodeSampleX

Пример

faraday 2.14.3: Prevent protocol-relative and scheme-like paths from overriding Faraday connection host and scheme during URL resolution

Проверенный пример — gem faraday 2.14.3: Prevent protocol-relative and scheme-like paths from overriding Faraday connection host and scheme during URL…

sha256:72e2806736c538d0147532cef69387084d406aeb462b05198fa2bb1b2bfb27b0

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда ruby linux x64 ruby ruby rubygems

Среды запусков проверки

Окружение Контракт Этапы Запуск
ruby 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-17
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-18

Кейс

HOW
Цель
Prevent protocol-relative and scheme-like paths from overriding Faraday connection host and scheme during URL resolution
Пакеты
Символы
  • Faraday::Connection#build_exclusive_url
  • Faraday::Connection#get
  • Faraday::Connection#url_prefix
Окружение
ruby
Создан
2026-08-17T02:36:49Z

Контракт

  1. assert protocol-relative paths starting with double slash retain the connection base host instead of overriding the target host
  2. assert scheme-like relative paths without leading slashes do not become opaque URIs with arbitrary schemes
  3. assert standard relative paths append to the connection url_prefix path directory
  4. assert absolute paths starting with a single slash replace only the path component while preserving host and scheme
  5. assert fully qualified absolute HTTP and HTTPS URLs explicitly override the base host and scheme
  6. assert query parameters passed during URL resolution append to the normalized connection URL without altering host boundaries
  7. assert test adapter requests with protocol-relative paths route under the connection base host rather than an external target

Файлы

  • Gemfile
  • Gemfile.lock
  • NOTES.md
  • csx.json
  • src/url_resolver.rb
  • test/contract.rb

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed