3 ms·
> a JSON document confirming no use That would be the better design. No need to overload an HTTP status code meant only to indicate transport status.
by mmmurf 9y ago
> a JSON document confirming no use
That would be the better design. No need to overload an HTTP status code meant only to indicate transport status.
- robotmay 9y agoHonestly the main reason it works like this is that it was my first foray into Rust, and I found JSON parsing a bit of a pain, whereas matching status codes was very simple. If we expand it to return different options in the future then I'll probably rework it.
- steveklabnik 9y agoInteresting, if you happen to have some time, I'd love to hear about why parsing JSON was a pain.
- robotmay 9y agoLaziness :D 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.
- steveklabnik 9y agoGotcha! 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.)
- robotmay 9y agoAwesome, thanks for the tips Steve :D Hopefully we'll have a few other projects coming up that I can use as an excuse to do more Rust!