mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
#12351 Fixed RUM middleware in `middleware_data.rs` to extract `ootags`/`o2tags` from the request body when the field is not present in URL query parameters. Previously, the middleware only inspected query parameters for these fields, but the RUM SDK sends them in the request body. ## Why User logs confirmed the issue: `ootags raw=None, o2tags raw=None` appeared consistently in the middleware logs even when the RUM SDK included tags like `env`, `service`, `version`, and `sdk_version`. Geo keys (which come from a different extraction path) were unaffected, narrowing the root cause to query-param-only parsing of `ootags`/`o2tags`. The RUM SDK sends these tags in the POST body, not as query string parameters. ## Approach Added body-parsing logic to read and decode the request body when `ootags`/`o2tags` are absent from query parameters. The body is parsed once using `url::form_urlencoded` and merged into the existing key-value map before the `filter_tags` step runs, ensuring the same downstream pipeline works unchanged. --------- Co-authored-by: Neha P <neha@openobserve.ai> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> Co-authored-by: Neha P <144308844+neha00290@users.noreply.github.com>