Corpo de solicitação de leitura de Golang

Estou escrevendo meu próprio logginMiddleware. Basicamente, preciso registrar o corpo da solicitação e da resposta. O problema que enfrentei é que, quando leio o corpo, ele fica vazio e não consigo lê-lo duas vezes. Entendo que isso acontece porque é do tipo ReadCloser. Existe uma maneira de retroceder o corpo para o começo?

questionAnswers(2)

yourAnswerToTheQuestion