func (t *rabbitTransport) Respond(req message.Request, rsp message.Response) error { headers := rsp.Headers() headers["Content-Encoding"] = "response" timeout := time.NewTimer(respondTimeout) defer timeout.Stop() select { case <-t.Ready(): timeout.Stop() case <-t.tomb.Dying(): return tomb.ErrDying case <-timeout.C: return transport.ErrTimeout } return t.connection().Publish("", req.Headers()["X-Rabbit-ReplyTo"], amqp.Publishing{ CorrelationId: rsp.Id(), Timestamp: time.Now().UTC(), Body: rsp.Payload(), Headers: headersToTable(headers), }) }