You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mefellows
added
triage
This issue is yet to be triaged by a maintainer
enhancement
Indicates new feature requests
bug
Indicates an unexpected problem or unintended behavior
and removed
enhancement
Indicates new feature requests
labels
Aug 28, 2023
Hello,
I have same issue, but apparently, AsynchronousMessage is not supported for a grpc service in golang (grpc/grpc-go#246)
On my side only SynchronousMessage is ignoring Metadata as it seems that MessageV4 does not support Metadata for now:
typeMessageContentsstruct {
// Message BodyContents []byte// Body is the attempt to reify the message body back into a specified type// Not populated for synchronous messagesBodyinterface{} `json:"contents"`// Message metadata. Currently not populated for synchronous messages// Metadata Metadata `json:"metadata"`
}
gRPC metadata is useful for a variety of purposes, such as:
* Authentication: gRPC metadata can be used to send authentication credentials to the server.
This can be used to implement different authentication schemes, such as OAuth2 or JWT using the standard HTTP Authorization header.
* Tracing: gRPC metadata can be used to send tracing information to the server.
This can be used to track the progress of a request through a distributed system.
* Custom headers: gRPC metadata can be used to send custom headers to the server or from the server to the client.
This can be used to implement application-specific features, such as load balancing, rate limiting or providing detailed error messages from the server to the client.
* Internal usages: gRPC uses HTTP/2 headers and trailers, which will be integrated with the metadata specified by your application.
Software versions
go1.20.5
GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/dev/.cache/go-build" GOENV="/home/dev/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/home/dev/go/pkg/mod" GONOPROXY="github.hpe.com" GONOSUMDB="github.hpe.com" GOOS="linux" GOPATH="/home/dev/go" GOPRIVATE="github.hpe.com" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.20.5" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/home/dev/ws/pact-go/go.mod" GOWORK="" CGO_CFLAGS="-O2 -g" CGO_CPPFLAGS="" CGO_CXXFLAGS="-O2 -g" CGO_FFLAGS="-O2 -g" CGO_LDFLAGS="-O2 -g" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1831304596=/tmp/go-build -gno-record-gcc-switches"
Expected behaviour
Adding WithMetadata() to record headers in the example documented here, does not add metadata details to the contract.
Actual behaviour
Would like to see headers added to the contract
Steps to reproduce
Run the below test
Relevent log files
Please ensure you set logging to
DEBUG
and attach any relevant log files here (or link from a gist).The text was updated successfully, but these errors were encountered: