Couple of things here:

* `publish_ack` should only be called if finish_request is called and returns non-None (this is a bit obscure and the base `HttpRpcTransport` implementation definitely needs improvement).
* If `finish_request` isn't called or fails we should log the error and publish an `nack`.