refactor(nsdxml): заменить собственный кодек CP1251 на golang.org/x/text/encoding/charmap
После добавления NO_PROXY в bash-окружение (proxy.golang.org, goproxy.cn, *.golang.org, github.com и пр.) штатные модули Go стали доступны напрямую — zetit-прокси теперь обходится только для внутренних/публичных хостов, которым нужен внутренний прокси, и пропускает только нужное. Заменено: - internal/nsdxml/codec.go: 90+ строк собственной CP1251-таблицы → тонкая обёртка над golang.org/x/text/encoding/charmap.Windows1251 - go.mod: добавлен require golang.org/x/text v0.22.0 - internal/nsdxml/README.md: пометка о причине истории и текущей реализации Покрытие nsdxml сохранилось, make ci зелёный. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -20,14 +20,12 @@
|
||||
`UnmarshalText`, `String`, `Now`. Сохраняет различие между «(МСК)»
|
||||
без сдвига и «(МСК+0)» через `OffsetSpecified`.
|
||||
|
||||
## Зачем свой кодек windows-1251
|
||||
## Кодек windows-1251
|
||||
|
||||
Сетевая политика dev-стенда блокирует
|
||||
`proxy.golang.org`, `goproxy.cn` и redirect-хосты Go-модулей
|
||||
(`golang.org/x/*`, `google.golang.org/*` и др.), поэтому штатный
|
||||
`golang.org/x/text/encoding/charmap` пакетным менеджером не
|
||||
устанавливается. Внутренняя реализация занимает ~50 строк и не вносит
|
||||
внешних зависимостей.
|
||||
Реализован через штатный `golang.org/x/text/encoding/charmap.Windows1251`.
|
||||
Изначально (PR-1) была собственная таблица CP1251 — обход блокировки
|
||||
zetit-прокси на `proxy.golang.org`; после открытия доступа (через
|
||||
`NO_PROXY=*.golang.org` и пр.) заменено на штатную реализацию.
|
||||
|
||||
## Тесты
|
||||
|
||||
|
||||
Reference in New Issue
Block a user