[#199] putsvc: Refactor put object

Resolve containedctx linter for streamer and remote target

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2023-04-03 14:23:53 +03:00 committed by Gitea
parent cecea8053a
commit 27bdddc48f
24 changed files with 171 additions and 125 deletions

View file

@ -37,9 +37,9 @@ var ErrAbortStream = errors.New("abort message stream")
type ResponseConstructor func() ResponseMessage
type RequestMessageWriter func(any) error
type RequestMessageWriter func(context.Context, any) error
type ClientStreamCloser func() (ResponseMessage, error)
type ClientStreamCloser func(context.Context) (ResponseMessage, error)
type RequestMessageStreamer struct {
key *ecdsa.PrivateKey
@ -61,7 +61,7 @@ func NewUnarySignService(key *ecdsa.PrivateKey) *SignService {
}
}
func (s *RequestMessageStreamer) Send(req any) error {
func (s *RequestMessageStreamer) Send(ctx context.Context, req any) error {
// req argument should be strengthen with type RequestMessage
s.statusSupported = isStatusSupported(req.(RequestMessage)) // panic is OK here for now
@ -71,7 +71,7 @@ func (s *RequestMessageStreamer) Send(req any) error {
if err = signature.VerifyServiceMessage(req); err != nil {
err = fmt.Errorf("could not verify request: %w", err)
} else {
err = s.send(req)
err = s.send(ctx, req)
}
if err != nil {
@ -87,7 +87,7 @@ func (s *RequestMessageStreamer) Send(req any) error {
return nil
}
func (s *RequestMessageStreamer) CloseAndRecv() (ResponseMessage, error) {
func (s *RequestMessageStreamer) CloseAndRecv(ctx context.Context) (ResponseMessage, error) {
var (
resp ResponseMessage
err error
@ -96,7 +96,7 @@ func (s *RequestMessageStreamer) CloseAndRecv() (ResponseMessage, error) {
if s.sendErr != nil {
err = s.sendErr
} else {
resp, err = s.close()
resp, err = s.close(ctx)
if err != nil {
err = fmt.Errorf("could not close stream and receive response: %w", err)
}