Currently Jarvis does not check the 'accept' request header and may send a response content-type that doesn't match the 'accept' header.
The HTTP standard says that a server SHOULD (but not MUST) check the accept header and not doing so is a protocol violation.
So, while Jarvis is technically compliant with the standard, we ought to be a good citizen and check the 'accept' header.