github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-grpc-middleware/util/metautils/doc.go (about)

     1  // Copyright 2016 Michal Witkowski. All Rights Reserved.
     2  // See LICENSE for licensing terms.
     3  
     4  /*
     5  Package `metautils` provides convenience functions for dealing with gRPC metadata.MD objects inside
     6  Context handlers.
     7  
     8  While the upstream grpc-go package contains decent functionality (see https://github.com/grpc/grpc-go/blob/master/Documentation/grpc-metadata.md)
     9  they are hard to use.
    10  
    11  The majority of functions center around the NiceMD, which is a convenience wrapper around metadata.MD. For example
    12  the following code allows you to easily extract incoming metadata (server handler) and put it into a new client context
    13  metadata.
    14  
    15    nmd := metautils.ExtractIncoming(serverCtx).Clone(":authorization", ":custom")
    16    clientCtx := nmd.Set("x-client-header", "2").Set("x-another", "3").ToOutgoing(ctx)
    17  */
    18  
    19  package metautils