Skip to content

Ошибки связи: причина по коду ответа хаба - #279

Open
Segate-ekb wants to merge 3 commits into
oscript-library:masterfrom
Segate-ekb:стек/01-ошибки-сети

Hidden character warning

The head ref may contain hidden characters: "\u0441\u0442\u0435\u043a/01-\u043e\u0448\u0438\u0431\u043a\u0438-\u0441\u0435\u0442\u0438"
Open

Segate-ekb wants to merge 3 commits into
oscript-library:masterfrom
Segate-ekb:стек/01-ошибки-сети

Conversation

@Segate-ekb

@Segate-ekb Segate-ekb commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Зависимости. Ни от чего не зависит. На нём стоит #280 и дальше вся цепочка.

Для пользователя. Причина неудачной установки называется по ответу хаба, а не одним «Нет соединения»:

  • 404 — «файл <пакет> в хабе не найден»;
  • 401 и 403 — «отказ в доступе»;
  • иной код — «хаб ответил кодом N на запрос <файл>»;
  • нет ответа — «Не удалось подключиться к <адрес>», подробности — в отладочном журнале.

«Нет соединения» остаётся только когда не ответил ни один сервер из списка.

Код. МенеджерПолученияПакетов выбирает текст по коду; СерверПакетов запоминает последнюю ошибку сети. Текст исключений платформы не разбирается и не переводится.

Тесты. tests/network-errors-test.os: коды 404, 401, 403, 500 на заглушках сервера и ответа, закрытый порт. Полный прогон зелёный.

Модуль ОшибкиСети переводит исключение HTTP-соединения в причину (имя не
разрешается, соединение отклонено, таймаут, TLS) и снимает служебную обёртку
платформы. СерверПакетов запоминает ПоследнююОшибкуСети; установка различает
404, 401/403 и прочие коды ответа, а для единственного сервера (-m) называет
адрес и причину. opm.os показывает суть исключения, подробности — в отладке.
…в доступе, иначе код и файл; без ответа — «Не удалось подключиться к <адрес>», исходная ошибка в отладочный журнал; модуль ОшибкиСети и разбор текста исключений сняты
@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fb81383e-cf14-4810-91de-91327bd3afa7
📥 Commits

Reviewing files that changed from the base of the PR and between 56defbe and 5f937f3.

📒 Files selected for processing: 6
  • README.md
  • src/core/Классы/МенеджерПолученияПакетов.os
  • src/core/Классы/СерверПакетов.os
  • tests/fixtures/ЗаглушкаОтветаХаба.os
  • tests/fixtures/ЗаглушкаСервераПакетов.os
  • tests/network-errors-test.os
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant