This repo contains two tools for testing network clients by recording real interactions with servers, then playing back the server responses later. These record/replay proxies let you run an "integration" test that accesses a backend and record the interaction. Subsequent runs of the test can replay the server's responses without actually contacting the server, turning the integration test into a fast and inexpensive unit test.
To use a record/replay proxy:
The httpreplay proxy works with HTTP traffic. You can use the httpreplay
package
directly from Go code, or you can run the httpr command at
httpreplay/cmd/httpr and use a client written in any language.
The grpcreplay package
works with gRPC traffic. There is no corresponding command.
Overall
Maintained
Code review
Latest release
Releases this year
329 followers · starred May 2020
175 followers · starred May 2026
403 followers · starred Aug 2019
840 followers · starred Jul 2020
This repo contains two tools for testing network clients by recording real interactions with servers, then playing back the server responses later. These record/replay proxies let you run an "integration" test that accesses a backend and record the interaction. Subsequent runs of the test can replay the server's responses without actually contacting the server, turning the integration test into a fast and inexpensive unit test.
To use a record/replay proxy:
The httpreplay proxy works with HTTP traffic. You can use the httpreplay
package
directly from Go code, or you can run the httpr command at
httpreplay/cmd/httpr and use a client written in any language.
The grpcreplay package
works with gRPC traffic. There is no corresponding command.
Overall
Maintained
Code review
Latest release
Releases this year
329 followers · starred May 2020
175 followers · starred May 2026
403 followers · starred Aug 2019
840 followers · starred Jul 2020