diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-14 22:01:14 +0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-14 22:01:16 +0800 |
commit | 595a15cfd3b3bd1e06d13f6274867616bea61ef0 (patch) | |
tree | dfb10d3da8cc16d3868723cb66a1e2dc8d49ea3f /rust/src/lib.rs | |
parent | e2deb74b7839aa05c1827a830ffc5e3c68ed58b4 (diff) | |
download | fatcat-595a15cfd3b3bd1e06d13f6274867616bea61ef0.tar.gz fatcat-595a15cfd3b3bd1e06d13f6274867616bea61ef0.zip |
many redirect implementations
Probably should have split this commit up, it's huge:
- accept the state of "redirect to a deletion", where redirect_id is
Some but rev_id is None. call this a "redirect"; previously this was
an invalid state.
- GET for a deleted entity returns a 200 and a stub entity, not a 404
- to PUT a redirect, or to "revert" an entity to point at a specific
pre-existing revision, PUT a stub entity. things are getting messy
here... to detect this state, ensure the 'state' field is blank/none
(this is for API usage ergonomics, where results from a GET are often
re-used in a PUT or even POST)
- rustfmt
- maybe even more small tweaks along the way? mystery meat!
Tests are in python, not rust (and a future commit)
Diffstat (limited to 'rust/src/lib.rs')
-rw-r--r-- | rust/src/lib.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rust/src/lib.rs b/rust/src/lib.rs index ab293fa9..b7f1817a 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -1,5 +1,5 @@ #![allow(proc_macro_derive_resolution_fallback)] -#![recursion_limit="128"] +#![recursion_limit = "128"] extern crate chrono; extern crate fatcat_api_spec; @@ -67,6 +67,10 @@ pub mod errors { description("Invalid Entity State Transform") display("tried to mutate an entity which was not in an appropriate state: {}", message) } + OtherBadRequest(message: String) { + description("catch-all error for bad or unallowed requests") + display("broke a constraint or made an otherwise invalid request: {}", message) + } } } } |