CodeSampleX

Пример

rack-test 2.2.0: Manage Rack::Test per-request CGI environment keys, session header persistence, JSON string Content-Type defaults, UploadedFile multipart symbol params, and redirect method preservation

Проверенный пример — gem rack-test 2.2.0: Manage Rack::Test per-request CGI environment keys, session header persistence, JSON string Content-Type defaults…

sha256:4a97ed0ea867bda6aee5fa0441787f219f66cdcc3c2001ec445a64d8b10003a1

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

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

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

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
1
Заявленная среда 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-16
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 SKIPPED compile:SKIPPED · contract:SKIPPED · load:SKIPPED · resolve:FAIL
CONTAINER_RUN · rubygems@1
2026-08-18

Кейс

HOW
Цель
Manage Rack::Test per-request CGI environment keys, session header persistence, JSON string Content-Type defaults, UploadedFile multipart symbol params, and redirect method preservation
Пакеты
Символы
  • Rack::Test::Methods
  • Rack::Test::Session#header
  • Rack::Test::Session#get
  • Rack::Test::Session#post
  • Rack::Test::Session#follow_redirect!
  • Rack::Test::UploadedFile.new
  • Rack::Test::CookieJar
Окружение
ruby
Создан
2026-08-16T17:46:56Z

Контракт

  1. assert passing raw HTTP header names in the third argument leaves them un-prefixed in env rather than transforming to HTTP_ CGI keys
  2. assert session header helper transforms names to HTTP_ CGI keys and persists them across subsequent requests until explicitly cleared
  3. assert posting a raw String body defaults Content-Type to application/x-www-form-urlencoded and form-parses the payload unless overridden
  4. assert UploadedFile wrapping a StringIO requires original_filename as a keyword argument and transforms params into multipart symbol-keyed Hashes
  5. assert follow_redirect raises on non-redirects, converts 302 to GET with empty params, and preserves 307 request method and params
  6. assert cookies without an explicit domain match only the exact host and expired cookies are omitted from subsequent requests

Файлы

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

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

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

csx-seed