Help us shape the future of Go! Take the 2026 Go Developer Survey

internal

package
v2.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cf

func Cf(cmdStarter Starter, args ...string) *gexec.Session

func CfWithCustomReporter

func CfWithCustomReporter(cmdStarter Starter, reporter Reporter, args ...string) *gexec.Session

func RegisterObserver added in v2.15.0

func RegisterObserver(observer CommandObserver)

func UnregisterObserver added in v2.15.0

func UnregisterObserver()

Types

type CommandObserver added in v2.15.0

type CommandObserver interface {
	CommandStarted(redactedArgs string, startTime time.Time)
	CommandCompleted(redactedArgs string, elapsed time.Duration, exitCode int)
}

CommandObserver receives a redacted joined-args identity, never raw args.

func RegisteredObserver added in v2.15.0

func RegisteredObserver() CommandObserver

type CompletionReporter added in v2.15.0

type CompletionReporter interface {
	ReportCompletion(cmd *exec.Cmd, elapsed time.Duration, exitCode int)
}

type ObservingReporter added in v2.15.0

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

ObservingReporter is the only type that touches the observer; it redacts the args before forwarding, keeping redaction inside the reporter.

func NewObservingReporter added in v2.15.0

func NewObservingReporter(observer CommandObserver, redactor Redactor) *ObservingReporter

func (*ObservingReporter) Report added in v2.15.0

func (r *ObservingReporter) Report(startTime time.Time, cmd *exec.Cmd)

func (*ObservingReporter) ReportCompletion added in v2.15.0

func (r *ObservingReporter) ReportCompletion(cmd *exec.Cmd, elapsed time.Duration, exitCode int)

type RedactingReporter

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

func NewRedactingReporter

func NewRedactingReporter(writer io.Writer, redactor Redactor) *RedactingReporter

func (*RedactingReporter) Redactor added in v2.15.0

func (r *RedactingReporter) Redactor() Redactor

func (*RedactingReporter) Report

func (r *RedactingReporter) Report(startTime time.Time, cmd *exec.Cmd)

type Redactor

type Redactor interface {
	Redact(toRedact string) string
}

func NewRedactor

func NewRedactor(redactees ...string) Redactor

type Reporter

type Reporter interface {
	Report(time.Time, *exec.Cmd)
}

func ObservedReporter added in v2.15.0

func ObservedReporter(base Reporter) Reporter

type Starter

type Starter interface {
	Start(Reporter, string, ...string) (*gexec.Session, error)
}

type TeeReporter added in v2.15.0

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

TeeReporter fans Report to every reporter; ReportCompletion reaches only those that also implement CompletionReporter.

func NewTeeReporter added in v2.15.0

func NewTeeReporter(reporters ...Reporter) *TeeReporter

func (*TeeReporter) Report added in v2.15.0

func (t *TeeReporter) Report(startTime time.Time, cmd *exec.Cmd)

func (*TeeReporter) ReportCompletion added in v2.15.0

func (t *TeeReporter) ReportCompletion(cmd *exec.Cmd, elapsed time.Duration, exitCode int)

Directories

Path Synopsis
This file was generated by counterfeiter
This file was generated by counterfeiter

Jump to

Keyboard shortcuts

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