package httpreplay
import "cloud.google.com/go/httpreplay"
Package httpreplay provides an API for recording and replaying traffic from HTTP-based Google API clients.
To record:
- Call NewRecorder to get a Recorder.
- Use its Client method to obtain an HTTP client to use when making API calls.
- Close the Recorder when you're done. That will save the log of interactions to the file you provided to NewRecorder.
To replay:
- Call NewReplayer with the same filename you used to record to get a Replayer.
- Call its Client method and use the client to make the same API calls. You will get back the recorded responses.
- Close the Replayer when you're done.
This package is EXPERIMENTAL and is subject to change or removal without notice. It requires Go version 1.8 or higher.
Index ¶
- func DebugHeaders()
- func Supported() bool
- type Recorder
- func NewRecorder(filename string, initial []byte) (*Recorder, error)
- func (r *Recorder) Client(ctx context.Context, opts ...option.ClientOption) (*http.Client, error)
- func (r *Recorder) Close() error
- type Replayer
Functions ¶
func DebugHeaders ¶
func DebugHeaders()
DebugHeaders helps to determine whether a header should be ignored. When true, if requests have the same method, URL and body but differ in a header, the first mismatched header is logged.
func Supported ¶
func Supported() bool
Supported reports whether httpreplay is supported in the current version of Go. For Go 1.8 and above, the answer is true.
Types ¶
type Recorder ¶
type Recorder struct {
// contains filtered or unexported fields
}
A Recorder records HTTP interactions.
func NewRecorder ¶
NewRecorder creates a recorder that writes to filename. The file will also store initial state that can be retrieved to configure replay.
You must call Close on the Recorder to ensure that all data is written.
func (*Recorder) Client ¶
Client returns an http.Client to be used for recording. Provide authentication options like option.WithTokenSource as you normally would, or omit them to use Application Default Credentials.
func (*Recorder) Close ¶
Close closes the Recorder and saves the log file.
type Replayer ¶
type Replayer struct {
// contains filtered or unexported fields
}
A Replayer replays previously recorded HTTP interactions.
func NewReplayer ¶
NewReplayer creates a replayer that reads from filename.
func (*Replayer) Client ¶
Client returns an HTTP client for replaying. The client does not need to be configured with credentials for authenticating to a server, since it never contacts a real backend.
func (*Replayer) Close ¶
Close closes the replayer.
func (*Replayer) IgnoreHeader ¶
IgnoreHeader will not use h when matching requests.
func (*Replayer) Initial ¶
Initial returns the initial state saved by the Recorder.
Source Files ¶
httpreplay.go
Directories ¶
Path | Synopsis |
---|---|
httpreplay/cmd | |
httpreplay/cmd/httpr | |
httpreplay/internal |
- Version
- v0.32.0
- Published
- Oct 31, 2018
- Platform
- windows/amd64
- Imports
- 5 packages
- Last checked
- 26 minutes ago –
Tools for package owners.