needs a yield since this returns a Deferred, and this needs
to move out of the validate function, initiating network
traffic is too much of a side effect. The same goes for the
`send_error_response()` call below.