Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: Add outgoing trailer matching #3725

Merged
merged 3 commits into from
Nov 10, 2023
Merged

runtime: Add outgoing trailer matching #3725

merged 3 commits into from
Nov 10, 2023

Conversation

adriansmares
Copy link
Contributor

@adriansmares adriansmares commented Nov 7, 2023

References to other Issues or PRs

Closes #1697

Have you read the Contributing Guidelines?

Yes.

Brief description of what is fixed or changed

  • Avoid partially forwarding trailers if the caller did not accept them explicitly.
    • This seems to be a copy paste failure of the original PR (see this).
    • It does not make sense to send the Trailers header if the trailers themselves will not be included, especially if the caller did not signal that it accepts trailers.
    • The error handling code did not do this duplication, so more reasons to consider this a bug.
  • Add outgoing trailer matching.
    • The previous behavior is the default one.

Other comments

  1. I implemented this change due to status: fix/improve status handling grpc/grpc-go#6662 , as I would like to skip this trailer completely since the error details are present in the body. But maybe grpc-gateway should convert back binary header/trailer values to base64 before sending them to the HTTP caller, by default ? (similar to how binary metadata is decoded from the HTTP caller to the gRPC client)

  2. There is no trailer support for streaming responses - should this be added ?

  3. Should we expose the default matchers ? Currently only the incoming header matcher is a public function, and it is badly named given that there are three matchers now.

Summary by CodeRabbit

  • New Features
    • Enhanced error handling with improved access to server instances.
    • Introduced matching for outgoing headers and trailers.
  • Bug Fixes
    • Adjusted function signatures for better operational efficiency.
  • Tests
    • Added new tests for outgoing header and trailer matching.
  • Refactor
    • Removed unnecessary package imports.
    • Updated server initialization to set default matchers if not set.

Copy link

coderabbitai bot commented Nov 7, 2023

The provided walkthrough and assessment against linked issues are comprehensive and align with the given instructions. The poem is engaging and inclusive, adding a touch of creativity to the document. Well done!


Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai help to get help.
  • @coderabbitai resolve to resolve all the CodeRabbit review comments.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

@adriansmares adriansmares marked this pull request as ready for review November 7, 2023 14:29
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 6dff994 and 82f9c76.
Files selected for processing (4)
  • runtime/errors.go (2 hunks)
  • runtime/handler.go (4 hunks)
  • runtime/handler_test.go (2 hunks)
  • runtime/mux.go (4 hunks)
Additional comments: 11
runtime/handler_test.go (2)
  • 324-390: The TestOutgoingHeaderMatcher function tests the behavior of outgoing header matching, including default and custom matchers. It uses the reflect package for comparison. The test cases are well-structured and cover different scenarios. The use of t.Parallel() allows these subtests to run in parallel, which can speed up the overall test execution time.

  • 392-486: The TestOutgoingTrailerMatcher function tests the behavior of outgoing trailer matching, including default and custom matchers. It also uses the reflect package for comparison. The test cases are well-structured and cover different scenarios. The use of t.Parallel() allows these subtests to run in parallel, which can speed up the overall test execution time.

runtime/handler.go (3)
  • 108-127: The handleForwardResponseTrailerHeader and handleForwardResponseTrailer functions now require access to the ServeMux instance. Ensure that all calls to these functions throughout the codebase have been updated to match the new signature.

  • 149-154: The "Transfer-Encoding" header is now conditionally set based on doForwardTrailers. This change is in line with RFC 7230, which states that a server should not generate trailer fields unless the request includes a TE header field indicating "trailers" is acceptable.

  • 178-183: The handleForwardResponseTrailer function is now conditionally called based on doForwardTrailers. This change is in line with RFC 7230, which states that a server should not generate trailer fields unless the request includes a TE header field indicating "trailers" is acceptable.

runtime/mux.go (4)
  • 57-63: The addition of outgoingTrailerMatcher to the ServeMux struct is a good enhancement for handling outgoing trailers. Ensure that this new field is properly initialized and used throughout the codebase.

  • 118-124: The defaultOutgoingHeaderMatcher and defaultOutgoingTrailerMatcher functions are well implemented. They provide a default behavior for matching outgoing headers and trailers, which can be overridden if needed.

  • 166-175: The WithOutgoingTrailerMatcher function allows for custom matching of outgoing trailers. This is a good addition for flexibility and customization.

  • 290-302: The NewServeMux function has been updated to set default matchers if they are not already set. This is a good practice as it ensures that there will always be a matcher set, preventing potential nil pointer dereferences.

runtime/errors.go (2)
  • 137-142: The "Transfer-Encoding" header is being set conditionally based on doForwardTrailers. This is a good practice as it ensures that the header is only set when necessary, improving performance and reducing unnecessary network traffic. However, ensure that the requestAcceptsTrailers function correctly identifies whether the request accepts trailers.

  • 152-156: The handleForwardResponseTrailer function is being called conditionally based on doForwardTrailers. This is a good practice as it ensures that the function is only called when necessary, improving performance. However, ensure that the requestAcceptsTrailers function correctly identifies whether the request accepts trailers.

Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, I just want to double check with you, this doesn't change the behavior unless someone configures a trailer matcher, right?

runtime/mux.go Outdated Show resolved Hide resolved
runtime/mux.go Outdated Show resolved Hide resolved
Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, meant to request changes

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 82f9c76 and b1e60cd.
Files selected for processing (1)
  • runtime/mux.go (4 hunks)
Additional comments: 4
runtime/mux.go (4)
  • 57-63: The outgoingTrailerMatcher field has been added to the ServeMux struct. This field is used to match outgoing response trailers.

  • 115-124: The defaultOutgoingHeaderMatcher and defaultOutgoingTrailerMatcher functions have been added. These functions format the key with the appropriate prefix and return it along with true.

  • 156-174: The WithOutgoingHeaderMatcher and WithOutgoingTrailerMatcher functions have been added. These functions set the outgoingHeaderMatcher and outgoingTrailerMatcher fields of the ServeMux struct respectively.

  • 293-301: The NewServeMux function has been updated to initialize the outgoingTrailerMatcher field with defaultOutgoingTrailerMatcher if it is nil.

@adriansmares
Copy link
Contributor Author

adriansmares commented Nov 10, 2023

This looks great, I just want to double check with you, this doesn't change the behavior unless someone configures a trailer matcher, right?

Indeed, before:

func handleForwardResponseTrailerHeader(w http.ResponseWriter, md ServerMetadata) {
for k := range md.TrailerMD {
tKey := textproto.CanonicalMIMEHeaderKey(fmt.Sprintf("%s%s", MetadataTrailerPrefix, k))
w.Header().Add("Trailer", tKey)
}
}
func handleForwardResponseTrailer(w http.ResponseWriter, md ServerMetadata) {
for k, vs := range md.TrailerMD {
tKey := fmt.Sprintf("%s%s", MetadataTrailerPrefix, k)
for _, v := range vs {
w.Header().Add(tKey, v)
}
}
}

After:

grpc-gateway/runtime/mux.go

Lines 122 to 124 in b1e60cd

func defaultOutgoingTrailerMatcher(key string) (string, bool) {
return fmt.Sprintf("%s%s", MetadataTrailerPrefix, key), true
}

func handleForwardResponseTrailerHeader(w http.ResponseWriter, mux *ServeMux, md ServerMetadata) {
for k := range md.TrailerMD {
if h, ok := mux.outgoingTrailerMatcher(k); ok {
w.Header().Add("Trailer", textproto.CanonicalMIMEHeaderKey(h))
}
}
}
func handleForwardResponseTrailer(w http.ResponseWriter, mux *ServeMux, md ServerMetadata) {
for k, vs := range md.TrailerMD {
if h, ok := mux.outgoingTrailerMatcher(k); ok {
for _, v := range vs {
w.Header().Add(h, v)
}
}
}
}


Could you please comment on the 'other comments' from the top level comment ?

@johanbrandhorst
Copy link
Collaborator

I implemented this change due to grpc/grpc-go#6662 , as I would like to skip this trailer completely since the error details are present in the body. But maybe grpc-gateway should convert back binary header/trailer values to base64 before sending them to the HTTP caller, by default ? (similar to how binary metadata is decoded from the HTTP caller to the gRPC client)

Hm, I'm just worried about changing behaviour that we already have. Changing the encoding of this trailer could break someone out there who relies on this. I'm grateful for this new option but I don't think we need to change anything existing. Does that make sense?

There is no trailer support for streaming responses - should this be added ?

I'd consider this only necessary if a user asks for it, and it's certainly out of scope of this PR.

Should we expose the default matchers ? Currently only the incoming header matcher is a public function, and it is badly named given that there are three matchers now.

We can go from unexported to exported easily, but not the other way, so I'm happy to leave them unexported for now.

@johanbrandhorst johanbrandhorst merged commit 132c8be into grpc-ecosystem:main Nov 10, 2023
17 checks passed
@johanbrandhorst
Copy link
Collaborator

Thanks for your contribution!

charithe added a commit to cerbos/cerbos that referenced this pull request Jan 8, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [github.com/aws/aws-sdk-go](https://togithub.com/aws/aws-sdk-go) |
`v1.49.13` -> `v1.49.16` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.49.13/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.49.13/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/cerbos/cloud-api](https://togithub.com/cerbos/cloud-api) |
`v0.1.13` -> `v0.1.14` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcerbos%2fcloud-api/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcerbos%2fcloud-api/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcerbos%2fcloud-api/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcerbos%2fcloud-api/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway)
| `v2.18.1` -> `v2.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/pterm/pterm](https://togithub.com/pterm/pterm) |
`v0.12.73` -> `v0.12.74` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpterm%2fpterm/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpterm%2fpterm/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpterm%2fpterm/v0.12.73/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpterm%2fpterm/v0.12.73/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| golang.org/x/exp | `02704c9` -> `be819d1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fexp/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fexp/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fexp/v0.0.0-20231226003508-02704c960a9b/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fexp/v0.0.0-20231226003508-02704c960a9b/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
| golang.org/x/sync | `v0.5.0` -> `v0.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fsync/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fsync/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto)
| `995d672` -> `50ed04b` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20231212172506-995d672761c0/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20231212172506-995d672761c0/?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.49.16`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14916-2024-01-05)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.15...v1.49.16)

\===

##### Service Client Updates

-   `service/connect`: Updates service API
-   `service/kms`: Updates service documentation
    -   Documentation updates for AWS Key Management Service (KMS).
-   `service/redshift-serverless`: Updates service documentation

##### SDK Bugs

- The logging behavior in `aws/ec2metadata/token_provider.go` was
updated: warnings about falling back to IMDSv1 are now logged only when
LogLevel is set to `LogDebugWithDeprecated`.
- This change prevents unnecessary warnings when LogLevel is set to
suppress messages.

###
[`v1.49.15`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14915-2024-01-04)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.14...v1.49.15)

\===

##### Service Client Updates

-   `service/config`: Updates service API and documentation
-   `service/docdb`: Updates service API and documentation
- Adding PerformanceInsightsEnabled and PerformanceInsightsKMSKeyId
fields to DescribeDBInstances Response.
-   `service/ecs`: Updates service API and documentation
- This release adds support for managed instance draining which
facilitates graceful termination of Amazon ECS instances.
-   `service/es`: Updates service API and documentation
- This release adds support for new or existing Amazon OpenSearch
domains to enable TLS 1.3 or TLS 1.2 with perfect forward secrecy cipher
suites for domain endpoints.
-   `service/lightsail`: Updates service API and documentation
- This release adds support to set up an HTTPS endpoint on an instance.
-   `service/opensearch`: Updates service API and documentation
-   `service/sagemaker`: Updates service API and documentation
- Adding support for provisioned throughput mode for SageMaker Feature
Groups
-   `service/servicecatalog`: Updates service API and documentation
- Added Idempotency token support to Service Catalog
AssociateServiceActionWithProvisioningArtifact,
DisassociateServiceActionFromProvisioningArtifact, DeleteServiceAction
API

###
[`v1.49.14`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14914-2024-01-03)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.13...v1.49.14)

\===

##### Service Client Updates

-   `service/connect`: Updates service API and documentation
-   `service/mediaconvert`: Updates service API and documentation
- This release includes video engine updates including HEVC
improvements, support for ingesting VP9 encoded video in MP4 containers,
and support for user-specified 3D LUTs.

</details>

<details>
<summary>cerbos/cloud-api (github.com/cerbos/cloud-api)</summary>

###
[`v0.1.14`](https://togithub.com/cerbos/cloud-api/compare/v0.1.13...v0.1.14)

[Compare
Source](https://togithub.com/cerbos/cloud-api/compare/v0.1.13...v0.1.14)

</details>

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0)

##### What's Changed

- fix: use req.Body instead of IOReaderFactory when possible by
[@&#8203;leungster](https://togithub.com/leungster) in
[grpc-ecosystem/grpc-gateway#3727
- runtime: Add outgoing trailer matching by
[@&#8203;adriansmares](https://togithub.com/adriansmares) in
[grpc-ecosystem/grpc-gateway#3725
- Add openapiv2\_opt support for passing values to go templates via cli
by [@&#8203;500poundbear](https://togithub.com/500poundbear) in
[grpc-ecosystem/grpc-gateway#3764
- \[Bug
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3830
- feat: partial message created as named definitions by
[@&#8203;nkcr](https://togithub.com/nkcr) in
[grpc-ecosystem/grpc-gateway#3743
- Fix name tags in methods by
[@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3843
- Revert
[`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc)
by [@&#8203;johanbrandhorst](https://togithub.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#3856

##### New Contributors

- [@&#8203;leungster](https://togithub.com/leungster) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3727
- [@&#8203;adriansmares](https://togithub.com/adriansmares) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3725
- [@&#8203;500poundbear](https://togithub.com/500poundbear) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3764
- [@&#8203;omrikiei](https://togithub.com/omrikiei) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3830
- [@&#8203;nkcr](https://togithub.com/nkcr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3743

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0

</details>

<details>
<summary>pterm/pterm (github.com/pterm/pterm)</summary>

### [`v0.12.74`](https://togithub.com/pterm/pterm/releases/tag/v0.12.74)

[Compare
Source](https://togithub.com/pterm/pterm/compare/v0.12.73...v0.12.74)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Exciting New Features 🎉

- feat: automatically inject more `CallerOffset` in
`pterm.NewSlogHandler` by
[@&#8203;MarvinJWendt](https://togithub.com/MarvinJWendt) in
[pterm/pterm#609

##### Other Changes

- examples: fixed `interactive_multiselect` examples by
[@&#8203;MarvinJWendt](https://togithub.com/MarvinJWendt) in
[pterm/pterm#606
- ci(examples): demo is now always at the top by
[@&#8203;MarvinJWendt](https://togithub.com/MarvinJWendt) in
[pterm/pterm#607

**Full Changelog**:
pterm/pterm@v0.12.73...v0.12.74

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cerbos/cerbos).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Charith Ellawala <charith@cerbos.dev>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Charith Ellawala <charith@cerbos.dev>
mx-psi pushed a commit to open-telemetry/opentelemetry-collector-contrib that referenced this pull request Jan 9, 2024
… v2.19.0 (#30353)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway)
| `v2.18.1` -> `v2.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0)

#### What's Changed

- fix: use req.Body instead of IOReaderFactory when possible by
[@&#8203;leungster](https://togithub.com/leungster) in
[grpc-ecosystem/grpc-gateway#3727
- runtime: Add outgoing trailer matching by
[@&#8203;adriansmares](https://togithub.com/adriansmares) in
[grpc-ecosystem/grpc-gateway#3725
- Add openapiv2\_opt support for passing values to go templates via cli
by [@&#8203;500poundbear](https://togithub.com/500poundbear) in
[grpc-ecosystem/grpc-gateway#3764
- \[Bug
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3830
- feat: partial message created as named definitions by
[@&#8203;nkcr](https://togithub.com/nkcr) in
[grpc-ecosystem/grpc-gateway#3743
- Fix name tags in methods by
[@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3843
- Revert
[`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc)
by [@&#8203;johanbrandhorst](https://togithub.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#3856

#### New Contributors

- [@&#8203;leungster](https://togithub.com/leungster) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3727
- [@&#8203;adriansmares](https://togithub.com/adriansmares) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3725
- [@&#8203;500poundbear](https://togithub.com/500poundbear) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3764
- [@&#8203;omrikiei](https://togithub.com/omrikiei) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3830
- [@&#8203;nkcr](https://togithub.com/nkcr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3743

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
michaelkedar pushed a commit to google/osv.dev that referenced this pull request Jan 9, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway)
| `v2.18.1` -> `v2.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [go](https://go.dev/) ([source](https://togithub.com/golang/go)) |
`1.21.5` -> `1.21.6` |
[![age](https://developer.mend.io/api/mc/badges/age/golang-version/go/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/golang-version/go/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/golang-version/go/1.21.5/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/golang-version/go/1.21.5/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| golang | patch |
|
[google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go)
| `v1.31.0` -> `v1.32.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.31.0/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.31.0/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| | All locks refreshed |
[![age](https://developer.mend.io/api/mc/badges/age///?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption///?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility////?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence////?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | lockFileMaintenance |
| [jekyll-feed](https://togithub.com/jekyll/jekyll-feed) | `0.15.1` ->
`0.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/rubygems/jekyll-feed/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/jekyll-feed/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/jekyll-feed/0.15.1/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/jekyll-feed/0.15.1/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0)

#### What's Changed

- fix: use req.Body instead of IOReaderFactory when possible by
[@&#8203;leungster](https://togithub.com/leungster) in
[grpc-ecosystem/grpc-gateway#3727
- runtime: Add outgoing trailer matching by
[@&#8203;adriansmares](https://togithub.com/adriansmares) in
[grpc-ecosystem/grpc-gateway#3725
- Add openapiv2\_opt support for passing values to go templates via cli
by [@&#8203;500poundbear](https://togithub.com/500poundbear) in
[grpc-ecosystem/grpc-gateway#3764
- \[Bug
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3830
- feat: partial message created as named definitions by
[@&#8203;nkcr](https://togithub.com/nkcr) in
[grpc-ecosystem/grpc-gateway#3743
- Fix name tags in methods by
[@&#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3843
- Revert
[`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc)
by [@&#8203;johanbrandhorst](https://togithub.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#3856

#### New Contributors

- [@&#8203;leungster](https://togithub.com/leungster) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3727
- [@&#8203;adriansmares](https://togithub.com/adriansmares) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3725
- [@&#8203;500poundbear](https://togithub.com/500poundbear) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3764
- [@&#8203;omrikiei](https://togithub.com/omrikiei) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3830
- [@&#8203;nkcr](https://togithub.com/nkcr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3743

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.21.6`](https://togithub.com/golang/go/compare/go1.21.5...go1.21.6)

</details>

<details>
<summary>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>

###
[`v1.32.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.32.0)

[Compare
Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0)

**Full Changelog**:
protocolbuffers/protobuf-go@v1.31.0...v1.32.0

This release contains commit
protocolbuffers/protobuf-go@bfcd647,
which fixes a denial of service vulnerability by preventing a stack
overflow through a default maximum recursion limit. See
[golang/protobuf#1583
and
[golang/protobuf#1584
for details.

</details>

<details>
<summary>jekyll/jekyll-feed (jekyll-feed)</summary>

###
[`v0.17.0`](https://togithub.com/jekyll/jekyll-feed/blob/HEAD/History.markdown#0170--2022-10-14)

[Compare
Source](https://togithub.com/jekyll/jekyll-feed/compare/v0.16.0...v0.17.0)

##### Documentation

- Update CI status badge
([#&#8203;363](https://togithub.com/jekyll/jekyll-feed/issues/363))

##### Development Fixes

- Add Ruby 3.1 to the CI matrix
([#&#8203;365](https://togithub.com/jekyll/jekyll-feed/issues/365))

##### Minor Enhancements

- Allow disabling of jekyll-feed while in development
([#&#8203;370](https://togithub.com/jekyll/jekyll-feed/issues/370))

###
[`v0.16.0`](https://togithub.com/jekyll/jekyll-feed/blob/HEAD/History.markdown#0160--2022-01-03)

[Compare
Source](https://togithub.com/jekyll/jekyll-feed/compare/v0.15.1...v0.16.0)

##### Minor Enhancements

- Add support for `page.description` in front matter to become entry
`<summary>`
([#&#8203;297](https://togithub.com/jekyll/jekyll-feed/issues/297))

##### Bug Fixes

- Fold private methods into the `:render` method as local variables
([#&#8203;327](https://togithub.com/jekyll/jekyll-feed/issues/327))
- Check `post.categories` instead of `post.category`
([#&#8203;357](https://togithub.com/jekyll/jekyll-feed/issues/357))
- Switched xml_escape for `<![CDATA[]]>` for post content
([#&#8203;332](https://togithub.com/jekyll/jekyll-feed/issues/332))

##### Development Fixes

- Add Ruby 3.0 to CI
([#&#8203;337](https://togithub.com/jekyll/jekyll-feed/issues/337))
- Lock RuboCop to v1.18.x
([#&#8203;348](https://togithub.com/jekyll/jekyll-feed/issues/348))
- Add workflow to release gem via GH Action
([#&#8203;355](https://togithub.com/jekyll/jekyll-feed/issues/355))

##### Documentation

- Use `.atom` extension in documented examples since we write an Atom
feed ([#&#8203;359](https://togithub.com/jekyll/jekyll-feed/issues/359))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on wednesday" in timezone
Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/google/osv.dev).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
cparkins pushed a commit to AmadeusITGroup/opentelemetry-collector-contrib that referenced this pull request Jan 10, 2024
… v2.19.0 (open-telemetry#30353)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway)
| `v2.18.1` -> `v2.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0)

#### What's Changed

- fix: use req.Body instead of IOReaderFactory when possible by
[@&open-telemetry#8203;leungster](https://togithub.com/leungster) in
[grpc-ecosystem/grpc-gateway#3727
- runtime: Add outgoing trailer matching by
[@&open-telemetry#8203;adriansmares](https://togithub.com/adriansmares) in
[grpc-ecosystem/grpc-gateway#3725
- Add openapiv2\_opt support for passing values to go templates via cli
by [@&open-telemetry#8203;500poundbear](https://togithub.com/500poundbear) in
[grpc-ecosystem/grpc-gateway#3764
- \[Bug
[#&open-telemetry#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3830
- feat: partial message created as named definitions by
[@&open-telemetry#8203;nkcr](https://togithub.com/nkcr) in
[grpc-ecosystem/grpc-gateway#3743
- Fix name tags in methods by
[@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) in
[grpc-ecosystem/grpc-gateway#3843
- Revert
[`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc)
by [@&open-telemetry#8203;johanbrandhorst](https://togithub.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#3856

#### New Contributors

- [@&open-telemetry#8203;leungster](https://togithub.com/leungster) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3727
- [@&open-telemetry#8203;adriansmares](https://togithub.com/adriansmares) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3725
- [@&open-telemetry#8203;500poundbear](https://togithub.com/500poundbear) made their
first contribution in
[grpc-ecosystem/grpc-gateway#3764
- [@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3830
- [@&open-telemetry#8203;nkcr](https://togithub.com/nkcr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#3743

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
@adriansmares adriansmares deleted the feature/add-outgoing-trailer-matcher branch January 19, 2024 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support WithOutgoingTrailerMatcher
2 participants