shared

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: AGPL-3.0 Imports: 7 Imported by: 5

Documentation

Index

Constants

View Source
const ConfigKey = "config"
View Source
const HARKey = "har"
View Source
const IndexFile = "index.html"
View Source
const UIAssetsLocation = "ui/dist/assets"
View Source
const UILocation = "ui/dist"
View Source
const WiretapHostPlaceholder = "%WIRETAP_HOST%"
View Source
const WiretapPortPlaceholder = "%WIRETAP_PORT%"
View Source
const WiretapTLSPlaceholder = "%WIRETAP_TLS%"
View Source
const WiretapVersionPlaceholder = "%WIRETAP_VERSION%"

Variables

This section is empty.

Functions

func MarshalError added in v0.0.8

func MarshalError(err *WiretapError) []byte

func Pluralize added in v0.0.15

func Pluralize(n int, singular string, plural string) string

Types

type CompiledPath added in v0.0.13

type CompiledPath struct {
	PathConfig          *WiretapPathConfig
	CompiledKey         glob.Glob
	CompiledTarget      glob.Glob
	CompiledPathRewrite map[string]*regexp.Regexp
}

type CompiledPathDelay added in v0.0.35

type CompiledPathDelay struct {
	CompiledPathDelay glob.Glob
	PathDelayValue    int
}

type CompiledPathRewrite added in v0.0.13

type CompiledPathRewrite struct {
	PathConfig     *WiretapPathConfig
	Key            string
	CompiledKey    glob.Glob
	CompiledTarget glob.Glob
}

type CompiledRedirect added in v0.1.4

type CompiledRedirect struct {
	CompiledPath glob.Glob
}

type CompiledVariable added in v0.0.20

type CompiledVariable struct {
	CompiledVariable *regexp.Regexp
	VariableValue    string
}

type WiretapConfiguration

type WiretapConfiguration struct {
	Contract                  string                        `json:"-" yaml:"-"`
	RedirectHost              string                        `json:"redirectHost,omitempty" yaml:"redirectHost,omitempty"`
	RedirectPort              string                        `json:"redirectPort,omitempty" yaml:"redirectPort,omitempty"`
	RedirectBasePath          string                        `json:"redirectBasePath,omitempty" yaml:"redirectBasePath,omitempty"`
	RedirectProtocol          string                        `json:"redirectProtocol,omitempty" yaml:"redirectProtocol,omitempty"`
	RedirectURL               string                        `json:"redirectURL,omitempty" yaml:"redirectURL,omitempty"`
	Port                      string                        `json:"port,omitempty" yaml:"port,omitempty"`
	MonitorPort               string                        `json:"monitorPort,omitempty" yaml:"monitorPort,omitempty"`
	WebSocketHost             string                        `json:"webSocketHost,omitempty" yaml:"webSocketHost,omitempty"`
	WebSocketPort             string                        `json:"webSocketPort,omitempty" yaml:"webSocketPort,omitempty"`
	GlobalAPIDelay            int                           `json:"globalAPIDelay,omitempty" yaml:"globalAPIDelay,omitempty"`
	StaticDir                 string                        `json:"staticDir,omitempty" yaml:"staticDir,omitempty"`
	StaticIndex               string                        `json:"staticIndex,omitempty" yaml:"staticIndex,omitempty"`
	PathConfigurations        map[string]*WiretapPathConfig `json:"paths,omitempty" yaml:"paths,omitempty"`
	Headers                   *WiretapHeaderConfig          `json:"headers,omitempty" yaml:"headers,omitempty"`
	StaticPaths               []string                      `json:"staticPaths,omitempty" yaml:"staticPaths,omitempty"`
	Variables                 map[string]string             `json:"variables,omitempty" yaml:"variables,omitempty"`
	Spec                      string                        `json:"contract,omitempty" yaml:"contract,omitempty"`
	Certificate               string                        `json:"certificate,omitempty" yaml:"certificate,omitempty"`
	CertificateKey            string                        `json:"certificateKey,omitempty" yaml:"certificateKey,omitempty"`
	HardErrors                bool                          `json:"hardValidation,omitempty" yaml:"hardValidation,omitempty"`
	HardErrorCode             int                           `json:"hardValidationCode,omitempty" yaml:"hardValidationCode,omitempty"`
	HardErrorReturnCode       int                           `json:"hardValidationReturnCode,omitempty" yaml:"hardValidationReturnCode,omitempty"`
	PathDelays                map[string]int                `json:"pathDelays,omitempty" yaml:"pathDelays,omitempty"`
	MockMode                  bool                          `json:"mockMode,omitempty" yaml:"mockMode,omitempty"`
	MockModePretty            bool                          `json:"mockModePretty,omitempty" yaml:"mockModePretty,omitempty"`
	Base                      string                        `json:"base,omitempty" yaml:"base,omitempty"`
	HAR                       string                        `json:"har,omitempty" yaml:"har,omitempty"`
	HARValidate               bool                          `json:"harValidate,omitempty" yaml:"harValidate,omitempty"`
	HARPathAllowList          []string                      `json:"harPathAllowList,omitempty" yaml:"harPathAllowList,omitempty"`
	StreamReport              bool                          `json:"streamReport,omitempty" yaml:"streamReport,omitempty"`
	ReportFile                string                        `json:"reportFilename,omitempty" yaml:"reportFilename,omitempty"`
	IgnoreRedirects           []string                      `json:"ignoreRedirects,omitempty" yaml:"ignoreRedirects,omitempty"`
	RedirectAllowList         []string                      `json:"redirectAllowList,omitempty" yaml:"redirectAllowList,omitempty"`
	HARFile                   *harhar.HAR                   `json:"-" yaml:"-"`
	CompiledPathDelays        map[string]*CompiledPathDelay `json:"-" yaml:"-"`
	CompiledVariables         map[string]*CompiledVariable  `json:"-" yaml:"-"`
	Version                   string                        `json:"-" yaml:"-"`
	StaticPathsCompiled       []glob.Glob                   `json:"-" yaml:"-"`
	CompiledPaths             map[string]*CompiledPath      `json:"-"`
	CompiledIgnoreRedirects   []*CompiledRedirect           `json:"-" yaml:"-"`
	CompiledRedirectAllowList []*CompiledRedirect           `json:"-" yaml:"-"`
	FS                        embed.FS                      `json:"-"`
	Logger                    *slog.Logger
}

func (*WiretapConfiguration) CompileIgnoreRedirects added in v0.1.4

func (wtc *WiretapConfiguration) CompileIgnoreRedirects()

func (*WiretapConfiguration) CompilePathDelays added in v0.0.35

func (wtc *WiretapConfiguration) CompilePathDelays()

func (*WiretapConfiguration) CompilePaths added in v0.0.13

func (wtc *WiretapConfiguration) CompilePaths()

func (*WiretapConfiguration) CompileRedirectAllowList added in v0.1.4

func (wtc *WiretapConfiguration) CompileRedirectAllowList()

func (*WiretapConfiguration) CompileVariables added in v0.0.20

func (wtc *WiretapConfiguration) CompileVariables()

func (*WiretapConfiguration) ReplaceWithVariables added in v0.0.20

func (wtc *WiretapConfiguration) ReplaceWithVariables(input string) string

type WiretapError added in v0.0.8

type WiretapError struct {
	Type     string `json:"type,omitempty"`     // URI reference to the type of problem
	Title    string `json:"title"`              // A short description of the issue
	Status   int    `json:"status,omitempty"`   // HTTP status code.
	Detail   string `json:"detail"`             // explanation of the issue in detail.
	Instance string `json:"instance,omitempty"` // URI to the specific problem.
	Payload  any    `json:"payload,omitempty"`  // if added, this is the payload that caused the error
}

WiretapError is an rfc7807 compliant error struct

func GenerateError added in v0.0.8

func GenerateError(title string,
	status int,
	detail string,
	instance string, payload any) *WiretapError

type WiretapHeaderConfig added in v0.0.15

type WiretapHeaderConfig struct {
	DropHeaders    []string          `json:"drop,omitempty" yaml:"drop,omitempty"`
	InjectHeaders  map[string]string `json:"inject,omitempty" yaml:"inject,omitempty"`
	RewriteHeaders map[string]string `json:"rewrite,omitempty" yaml:"rewrite,omitempty"`
}

type WiretapPathConfig added in v0.0.13

type WiretapPathConfig struct {
	Target       string               `json:"target,omitempty" yaml:"target,omitempty"`
	PathRewrite  map[string]string    `json:"pathRewrite,omitempty" yaml:"pathRewrite,omitempty"`
	ChangeOrigin bool                 `json:"changeOrigin,omitempty" yaml:"changeOrigin,omitempty"`
	Headers      *WiretapHeaderConfig `json:"headers,omitempty" yaml:"headers,omitempty"`
	Secure       bool                 `json:"secure,omitempty" yaml:"secure,omitempty"`
	Auth         string               `json:"auth,omitempty" yaml:"auth,omitempty"`
	CompiledPath *CompiledPath        `json:"-"`
}

func (*WiretapPathConfig) Compile added in v0.0.13

func (wpc *WiretapPathConfig) Compile(key string) *CompiledPath

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL