That would be the better design. No need to overload an HTTP status code meant only to indicate transport status.
That would be the better design. No need to overload an HTTP status code meant only to indicate transport status.
I think I was having trouble with string lifecycles due to how I was doing something, and at the time I didn't understand them (I'm still not super sharp on it if I'm honest) and just opted to take an easy way out. Lifecycle notation might be the one bit of Rust I find ugly, actually.
I should really revisit this little program at some point, but it's so stupidly simple and works so reliably that I haven't had the inclination to yet.
FWIW, serde_json makes it very easy; if you were doing it yourself, I can see how it'd be harder :)
The second edition of the book's ownership and borrowing chapters go into String vs &str in great detail, if you want to become super sharp :)
(and yeah, we agree that the lifetime annotation isn't very nice looking, but every alternative we tried looked worse.)