Skip to content

Conversation

@cratelyn
Copy link
Member

  • feat(http/body-eos): EosRef<'a, E> is clonable
    Signed-off-by: katelyn martin kate@buoyant.io

  • refactor(http/prom): StreamLabel::end_response accepts EosRef
    Signed-off-by: katelyn martin kate@buoyant.io

  • refactor(http/prom): use BodyWithEosFn in duration middleware
    Signed-off-by: katelyn martin kate@buoyant.io

  • refactor(http/prom): BodyWithEosFn records flush timestamp
    Signed-off-by: katelyn martin kate@buoyant.io

  • work in progress

@cratelyn cratelyn self-assigned this Nov 17, 2025
@cratelyn cratelyn changed the title kate/decouple record response.pt 3.apply some polish refactor(app/outbound): duration middleware uses BodyWithEosFn Nov 17, 2025
@cratelyn cratelyn force-pushed the kate/decouple-record-response.pt-2.app-outbound-integration branch 2 times, most recently from 0b165b6 to 39bf89f Compare November 17, 2025 18:30
Base automatically changed from kate/decouple-record-response.pt-2.app-outbound-integration to main November 17, 2025 19:10
@cratelyn cratelyn force-pushed the kate/decouple-record-response.pt-3.apply-some-polish branch from a88366e to a7e908a Compare November 17, 2025 20:18
this commit introduces clone and copy implementations for the
`EosRef<'a, E>` type used to inspect and classify the outcome of a
request or response body.

as the documentation comment notes in the commit below, this enum only
contains immutable references to other values: a header map or an
error. other variants are empty tags.

```rust
pub enum EosRef<'a, E = Error> {
    None,
    Trailers(&'a HeaderMap),
    Error(&'a E),
    Cancelled,
}
```

this commit makes this type implicitly clonable.

Signed-off-by: katelyn martin <kate@buoyant.io>
Signed-off-by: katelyn martin <kate@buoyant.io>
Signed-off-by: katelyn martin <kate@buoyant.io>
Signed-off-by: katelyn martin <kate@buoyant.io>
@cratelyn cratelyn force-pushed the kate/decouple-record-response.pt-3.apply-some-polish branch from a7e908a to 1097399 Compare November 19, 2025 19:05
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.

2 participants