trpc.group/trpc-go/trpc-go@v1.0.3/client/attachment.go (about)

     1  //
     2  //
     3  // Tencent is pleased to support the open source community by making tRPC available.
     4  //
     5  // Copyright (C) 2023 THL A29 Limited, a Tencent company.
     6  // All rights reserved.
     7  //
     8  // If you have downloaded a copy of the tRPC source code from Tencent,
     9  // please note that tRPC source code is licensed under the  Apache 2.0 License,
    10  // A copy of the Apache 2.0 License is included in this file.
    11  //
    12  //
    13  
    14  package client
    15  
    16  import (
    17  	"io"
    18  
    19  	"trpc.group/trpc-go/trpc-go/internal/attachment"
    20  )
    21  
    22  // Attachment stores the Attachment of tRPC requests/responses.
    23  type Attachment struct {
    24  	attachment attachment.Attachment
    25  }
    26  
    27  // NewAttachment returns a new Attachment whose response Attachment is a NoopAttachment.
    28  func NewAttachment(request io.Reader) *Attachment {
    29  	return &Attachment{attachment: attachment.Attachment{Request: request, Response: attachment.NoopAttachment{}}}
    30  }
    31  
    32  // Response returns Response Attachment.
    33  func (a *Attachment) Response() io.Reader {
    34  	return a.attachment.Response
    35  }