3 releases
0.1.5 | Jan 20, 2024 |
---|---|
0.1.4 | Oct 15, 2022 |
#354 in HTTP server
6KB
90 lines
arcerror
Provides thin wrappers around Arc<T>
and Rc<T>
where T
: Error
. Impls Error
for both of these types. No
unsafe
, no dependencies.
The purpose of this is to impl Clone
for arbitrary Error
types that
don't already have such an implementation. The use case that drove it was for an HTTP server
that was making an HTTP request for large files through a third-party wrapper around an API,
and streaming the response to both a File on the local filesystem and to our own HTTP response
concurrently, through a broadcast channel.
A network stream can fail at any time, so every "chunk" is returned in a
Result
; the third-party wrapper crate didn't impl Clone
on its
error type (and many of the errors it was wrapping also don't impl Clone
). This is a solution
to making that Result
impl Clone
.