The reason POST requests were being responded to with 400 is that in the
assignment of payload, the request.json member is used if request.form
evaluates as false, but accessing request.json results in an error for
some requests, even though flask docs claim that the value will simply
be `None`.
resolves#339