Files
Bridge-and-Join-s/internal/nsdadapter/onyx/onyx.go
T
fontvielle a8cdeeb838 feat(nsd-adapter): REST-клиент ИШ НРД + маршрутизация типов пакетов
- internal/nsdadapter/igw/client.go: REST-клиент ИШ (SendPackage, GetStatus, ListIncoming) с base64-JSON, ретраями на 5xx, 4xx без ретраев
- internal/nsdadapter/router.go: маршрутизация MessageKind -> PackageType ЭДО (#M2MTR, #M2MTD, #M2MER, SUBBR/SUBER/SUB16, Assets_investment)
- internal/nsdadapter/sender.go: реализация m2mcore.NSDSender (Send/SendDecision) через REST ИШ, сериализация Request/Decision в windows-1251
- internal/nsdadapter/config.go: профили guest/test3/prod × gost/rsa (URL ИШ, канал, контейнер ключа, retry)
- internal/nsdadapter/onyx/onyx.go: скелет резервного канала WS ONYX (ждёт PR-6 crypto-service для подписи)
- cmd/nsd-adapter/main.go: HTTP /healthz + фоновый поллер входящих по типам ЭДО; idle-режим без BJ_NSD_PROFILE

make ci зелёный. Без внешних Go-зависимостей.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:55:20 +03:00

33 lines
1.3 KiB
Go

// Package onyx — резервный канал к НРД через WS ONYX. На M1 скелет;
// реальная реализация — после PR-6 (crypto-service): подпись пакета
// требует КриптоПро JCP, которой пока нет.
package onyx
import (
"context"
"errors"
"git.zetit.ru/zuevav/Bridge-and-Join-s/internal/m2m"
)
// ErrNotImplemented возвращается из всех методов скелета.
var ErrNotImplemented = errors.New("nsdadapter/onyx: не реализовано (ждём PR-6 crypto-service)")
// Client — SOAP-клиент к OnyxEdoWSService. Заглушка.
type Client struct {
BaseURL string
}
// Send отправляет подписанный M2MTransferRequest напрямую через WS ONYX.
// TODO(PR-6): подписать пакет через crypto-service по UDS, упаковать в
// SOAP envelope, отправить.
func (Client) Send(_ context.Context, _ *m2m.M2MTransferRequest) error {
return ErrNotImplemented
}
// SendDecision отправляет подписанное M2MTransferDecision.
// TODO(PR-6): подписать через crypto-service.
func (Client) SendDecision(_ context.Context, _ *m2m.M2MTransferDecision) error {
return ErrNotImplemented
}