tower-http
tower-http copied to clipboard
trace: adds back call to classify_eos on trailers
- 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.