debug

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

This package provides API debugging at the REST/HTTP level

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Enabled

func Enabled() bool

Enabled returns whether debugging is enabled or not.

func Flush

func Flush()

Flush dispatches to the current provider's Flush function.

func NewFile

func NewFile(s string) io.WriteCloser

NewFile dispatches to the current provider's NewFile function.

func NewTeeReader

func NewTeeReader(rc io.ReadCloser, w io.Writer) io.ReadCloser

NewTeeReader wraps io.TeeReader and patches through the Close() function.

func Scrub

func Scrub(in []byte) []byte

func SetProvider

func SetProvider(p Provider)

Types

type FileProvider

type FileProvider struct {
	Path string
	// contains filtered or unexported fields
}

FileProvider implements a debugging provider that creates a real file for every call to NewFile. It maintains a list of all files that it creates, such that it can close them when its Flush function is called.

func (*FileProvider) Flush

func (fp *FileProvider) Flush()

func (*FileProvider) NewFile

func (fp *FileProvider) NewFile(p string) io.WriteCloser

type FileWriterCloser

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

func NewFileWriterCloser

func NewFileWriterCloser(f *os.File, p string) *FileWriterCloser

func (*FileWriterCloser) Close

func (fwc *FileWriterCloser) Close() error

func (*FileWriterCloser) Write

func (fwc *FileWriterCloser) Write(p []byte) (n int, err error)

type LogProvider

type LogProvider struct {
}

func (LogProvider) Flush

func (s LogProvider) Flush()

func (LogProvider) NewFile

func (s LogProvider) NewFile(p string) io.WriteCloser

type LogWriterCloser

type LogWriterCloser struct {
}

func NewLogWriterCloser

func NewLogWriterCloser() *LogWriterCloser

func (*LogWriterCloser) Close

func (lwc *LogWriterCloser) Close() error

func (*LogWriterCloser) Write

func (lwc *LogWriterCloser) Write(p []byte) (n int, err error)

type Provider

type Provider interface {
	NewFile(s string) io.WriteCloser
	Flush()
}

Provider specified the interface types must implement to be used as a debugging sink. Having multiple such sink implementations allows it to be changed externally (for example when running tests).

type ReadCloser

type ReadCloser struct {
	io.Reader
	io.Closer
}

ReadCloser is a struct that satisfies the io.ReadCloser interface

Jump to

Keyboard shortcuts

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