Movatterモバイル変換


[0]ホーム

URL:


httpreplay

package
v0.123.0Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2025 License:Apache-2.0Imports:5Imported by:1

Details

Repository

github.com/googleapis/google-cloud-go

Links

Documentation

Overview

Package httpreplay provides an API for recording and replaying trafficfrom HTTP-based Google API clients.

To record:

  1. Call NewRecorder to get a Recorder.
  2. Use its Client method to obtain an HTTP client to use when making API calls.
  3. Close the Recorder when you're done. That will save the log of interactionsto the file you provided to NewRecorder.

To replay:

  1. Call NewReplayer with the same filename you used to record to get a Replayer.
  2. Call its Client method and use the client to make the same API calls.You will get back the recorded responses.
  3. 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

Constants

This section is empty.

Variables

This section is empty.

Functions

funcDebugHeadersadded inv0.23.0

func DebugHeaders()

DebugHeaders helps to determine whether a header should be ignored.When true, if requests have the same method, URL and body but differin a header, the first mismatched header is logged.

funcSupportedadded inv0.25.0

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

typeRecorder

type Recorder struct {// contains filtered or unexported fields}

A Recorder records HTTP interactions.

funcNewRecorder

func NewRecorder(filenamestring, initial []byte) (*Recorder,error)

NewRecorder creates a recorder that writes to filename. The file willalso 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)ClearHeadersadded inv0.35.0

func (r *Recorder) ClearHeaders(patterns ...string)

ClearHeaders will replace the value of request and response headers that matchany of the patterns with CLEARED, on both recording and replay.Use ClearHeaders when the header information is secret or may change from run torun, but you still want to verify that the headers are being sent and received.

Pattern is taken literally except for *, which matches any sequence of characters.

func (*Recorder)ClearQueryParamsadded inv0.35.0

func (r *Recorder) ClearQueryParams(patterns ...string)

ClearQueryParams will replace the value of URL query parametrs that match any ofthe patterns with CLEARED, on both recording and replay.Use ClearQueryParams when the parameter information is secret or may change fromrun to run, but you still want to verify that it are being sent.

Pattern is taken literally except for *, which matches any sequence of characters.

func (*Recorder)Client

func (r *Recorder) Client(ctxcontext.Context, opts ...option.ClientOption) (*http.Client,error)

Client returns an http.Client to be used for recording. Provide authentication optionslike option.WithTokenSource as you normally would, or omit them to use Application DefaultCredentials.

func (*Recorder)Close

func (r *Recorder) Close()error

Close closes the Recorder and saves the log file.

func (*Recorder)RemoveQueryParamsadded inv0.35.0

func (r *Recorder) RemoveQueryParams(patterns ...string)

RemoveQueryParams will remove URL query parameters matching patterns from the log,and skip matching them during replay.

Pattern is taken literally except for *, which matches any sequence of characters.

func (*Recorder)RemoveRequestHeadersadded inv0.35.0

func (r *Recorder) RemoveRequestHeaders(patterns ...string)

RemoveRequestHeaders will remove request headers matching patterns from the log,and skip matching them during replay.

Pattern is taken literally except for *, which matches any sequence of characters.

typeReplayer

type Replayer struct {// contains filtered or unexported fields}

A Replayer replays previously recorded HTTP interactions.

funcNewReplayer

func NewReplayer(filenamestring) (*Replayer,error)

NewReplayer creates a replayer that reads from filename.

func (*Replayer)Client

func (r *Replayer) Client(ctxcontext.Context) (*http.Client,error)

Client returns an HTTP client for replaying. The client does not need to beconfigured with credentials for authenticating to a server, since it nevercontacts a real backend.

func (*Replayer)Close

func (r *Replayer) Close()error

Close closes the replayer.

func (*Replayer)IgnoreHeaderadded inv0.25.0

func (r *Replayer) IgnoreHeader(hstring)

IgnoreHeader will not use h when matching requests.

func (*Replayer)Initialadded inv0.23.0

func (r *Replayer) Initial() []byte

Initial returns the initial state saved by the Recorder.

Source Files

View all Source files

Directories

PathSynopsis
cmd
httprcommand
internal
proxy
Package proxy provides a record/replay HTTP proxy.
Package proxy provides a record/replay HTTP proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp