CodeSampleX

Пример

req 0.7.2: Handle Req defaults for redirect credential stripping, method rewrites, redirect limits, opt-in compression, and user-agent value validation

Проверенный пример — hex req 0.7.2: Handle Req defaults for redirect credential stripping, method rewrites, redirect limits, opt-in compression, and…

sha256:3f145e36efe27122e4ece7c6ac75d71229c265eb14001e46d2c75d0ba58c5e7c

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

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

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

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

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

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

Кейс

HOW
Цель
Handle Req defaults for redirect credential stripping, method rewrites, redirect limits, opt-in compression, and user-agent value validation
Пакеты
Символы
  • Req.new
  • Req.Request.get_header
  • Req.Steps.redirect
  • Req.Steps.compressed
  • Req.Steps.put_user_agent
  • Req.TooManyRedirectsError
Окружение
elixir
Создан
2026-08-17T04:46:01Z

Контракт

  1. assert cross-origin HTTP redirects strip sensitive Authorization headers by default unless redirect_trusted: true is set
  2. assert same-origin redirects preserve Authorization headers while cross-origin redirects to a different host strip them
  3. assert 301, 302, and 303 redirects convert POST requests to GET and clear the body payload while 307 and 308 preserve POST method and body
  4. assert redirect defaults to true and following redirects can be disabled by setting redirect: false
  5. assert redirect loops halt and raise Req.TooManyRedirectsError when exceeding max_redirects default of 10
  6. assert compressed defaults to false and leaves accept-encoding unset, while compressed: true advertises supported encodings including gzip
  7. assert put_user_agent uses a Req version header by default and raises FunctionClauseError when user_agent: false is treated as a non-binary header value

Файлы

  • NOTES.md
  • csx.json
  • mix.exs
  • mix.lock
  • test/contract_test.exs
  • test/test_helper.exs

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

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

csx-seed