I’m trying to implement a collection resource with Liberator where a POST request to the collection URL (e.g. /posts) would create a new blog post item. That’s working fine. What is not working is responding to the POST request with a 201 Created response including a Location header pointing to the new URL (e.g. /posts/1).
I can either respond with a 201 Created, but then I’m not able to include the Location header response, and hence the client won’t know what the new URL is, or alternatively I can set :post-redirect? true, and return a 303 See Other response with a Location header.
Is there any way to return a 201 Created and the Location header from a Liberator POST handler?
Every handler can return a full ring response including headers by using ring-response: