Skip to content
No description, website, or topics provided.
Go Shell Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
grpcreplay doc tweak Jul 22, 2019
httpreplay httpreplay: move Google-specific client stuff to a sub-package Jul 22, 2019
.travis.yml tweak travis Jun 13, 2019
LICENSE top-level files and httpreplay Jun 3, 2019 readme tweak Jun 13, 2019

Build Status godoc Go Report Card

Go Tools for Recording and Replaying RPCs

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:

  1. Write a test that interacts with an actual backend.
  2. Run the test using the proxy in record mode. The result will be a file of client-server interactions.
  3. Run the test again using the proxy in replay mode, pointing at the recorded file. The proxy accepts requests and replays the matching server responses.


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.

You can’t perform that action at this time.