Add parsing logic for User-Agent headers (#5645)

* feat(ts_telemetry): add parsing logic for user agent headers

* feat(ts_telemetry): update gRPC observability for user-agent headers

* feat(ts_telemetry): add observation tags

* feat(ts_telemetry): Resolved comments

* feat(ts_telemetry): Removed loop variable capture

* feat(ts_telemetry): Updated userAgentKey to be inline

* feat(ts_telemetry): Add support for userAgent as per RFC 9110

* feat(ts_telemetry): Resolved comments

* Fix newline

* feat(ts_telemetry): Moved user-agent parsing to interceptor

* feat(ts_telemetry): Added user-agent parsing complex test case

* Update userAgentsKey comment

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* feat(ts_telemetry): Updated changelog

* feat(ts_telemetry): Resolved comments

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
This commit is contained in:
Aditya SharmaandJohan Brandhorst-Satzkorn authored and GitHub committed 2025-04-17 23:46:25 +05:30
1 parent a833981eae
commit 30e3116156
14 files changed
+279 -8

No files matched your search

@@ -13,7 +13,7 @@ option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resour
// AuthToken contains all fields related to an Auth Token resource
message AuthToken {
// Output only. The ID of the Auth Token.
string id = 10; // @gotags: `class:"public"`
string id = 10; // @gotags: `class:"public" eventstream:"observation"`
// The Scope in which this Auth Token was generated.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
@@ -49,7 +49,7 @@ service AuthTokenService {
}
message GetAuthTokenRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public" eventstream:"observation"`
}
message GetAuthTokenResponse {