tower-http icon indicating copy to clipboard operation
tower-http copied to clipboard

trace: adds back call to classify_eos on trailers

Open markdingram opened this issue 10 months ago • 0 comments

  • was dropped in the http-body 1.0 upgrade

Motivation

We have some tracing middleware that started as a copy of https://github.com/EmbarkStudios/server-framework/blob/main/src/middleware/trace.rs

After upgrading to tower-http 0.5.X one of the tests is failing -

https://github.com/EmbarkStudios/server-framework/blob/1bae7fe7a417443b365d2452007adfe46910037b/src/middleware/trace.rs#L205-L215

json atoms at path ".span.otel.status_code" are not equal:
    expected:
        "ERROR"
    actual:
        "OK"

Solution

Adds back call to classify_eos on trailers.

I've proven with this change the downstream tests pass once more. Notably I haven't attempted to write any tests in this repo - there was a historic desire to rewrite this middleware expessed in https://github.com/tower-rs/tower-http/issues/365 - I would be amenable to spend some time to upstream some of the tests from https://github.com/EmbarkStudios/server-framework/blob/main/src/middleware/trace.rs if considered worthwhile by the maintainers.

markdingram avatar Apr 02 '24 08:04 markdingram