package proxy

import "cloud.google.com/go/httpreplay/internal/proxy"

The proxy package provides a record/replay HTTP proxy. It is designed to support both an in-memory API (cloud.google.com/go/httpreplay) and a standalone server (cloud.google.com/go/httpreplay/cmd/httpr).

Index

Variables

var DebugHeaders = false

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.

Types

type Proxy

type Proxy struct {
	// The certificate that the proxy uses to participate in TLS.
	CACert *x509.Certificate

	// The URL of the proxy.
	URL *url.URL

	// Initial state of the client.
	Initial []byte
	// contains filtered or unexported fields
}

A Proxy is an HTTP proxy that supports recording or replaying requests.

func ForRecording

func ForRecording(filename string, port int) (*Proxy, error)

ForRecording returns a Proxy configured to record.

func ForReplaying

func ForReplaying(filename string, port int) (*Proxy, error)

ForReplaying returns a Proxy configured to replay.

func (*Proxy) Close

func (p *Proxy) Close() error

Close closes the proxy. If the proxy is recording, it also writes the log.

func (*Proxy) Transport

func (p *Proxy) Transport() *http.Transport

Transport returns an http.Transport for clients who want to talk to the proxy.

Source Files

debug.go record.go replay.go

Version
v0.24.0
Published
Jun 20, 2018
Platform
js/wasm
Imports
24 packages
Last checked
9 minutes ago

Tools for package owners.