Previously, this would never actually return the Meta data structure
since by the time that it got parsed, we already knew that the request
was good. Now, we do a special parse when we know that it failed so
that we can return the structured data (in particular, we want to be
able to use the HTTP status code).