ioutil

package
v5.2.1 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package ioutil implements some I/O utility functions.

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	ErrEmptyReader = errors.New("reader is empty")
)

Functions

func CheckClose

func CheckClose(c io.Closer, err *error)

CheckClose calls Close on the given io.Closer. If the given *error points to nil, it will be assigned the error returned by Close. Otherwise, any error returned by Close will be ignored. CheckClose is usually called with defer.

Example
// CheckClose is commonly used with named return values
f := func() (err error) {
	// Get a io.ReadCloser
	r := ioutil.NopCloser(strings.NewReader("foo"))

	// defer CheckClose call with an io.Closer and pointer to error
	defer CheckClose(r, &err)

	// ... work with r ...

	// if err is not nil, CheckClose will assign any close errors to it
	return err
}

err := f()
if err != nil {
	panic(err)
}
Output:

func NewContextReadCloser

func NewContextReadCloser(ctx context.Context, r io.ReadCloser) io.ReadCloser

NewContextReadCloser as NewContextReader but with io.Closer interface.

func NewContextReader

func NewContextReader(ctx context.Context, r io.Reader) io.Reader

NewContextReader wraps a reader to make it respect given Context. If there is a blocking read, the returned Reader will return whenever the context is cancelled (the return values are n=0 and err=ctx.Err()).

func NewContextWriteCloser

func NewContextWriteCloser(ctx context.Context, w io.WriteCloser) io.WriteCloser

NewContextWriteCloser as NewContextWriter but with io.Closer interface.

func NewContextWriter

func NewContextWriter(ctx context.Context, w io.Writer) io.Writer

NewContextWriter wraps a writer to make it respect given Context. If there is a blocking write, the returned Writer will return whenever the context is cancelled (the return values are n=0 and err=ctx.Err()).

func NewReadCloser

func NewReadCloser(r io.Reader, c io.Closer) io.ReadCloser

NewReadCloser creates an `io.ReadCloser` with the given `io.Reader` and `io.Closer`.

func NewReadCloserOnError

func NewReadCloserOnError(r io.ReadCloser, notify func(error)) io.ReadCloser

NewReadCloserOnError returns a io.ReadCloser that call the notify function when an unexpected (!io.EOF) error happens, after call Read function.

func NewReaderOnError

func NewReaderOnError(r io.Reader, notify func(error)) io.Reader

NewReaderOnError returns a io.Reader that call the notify function when an unexpected (!io.EOF) error happens, after call Read function.

func NewWriteCloser

func NewWriteCloser(w io.Writer, c io.Closer) io.WriteCloser

NewWriteCloser creates an `io.WriteCloser` with the given `io.Writer` and `io.Closer`.

func NewWriteCloserOnError

func NewWriteCloserOnError(w io.WriteCloser, notify func(error)) io.WriteCloser

NewWriteCloserOnError returns a io.WriteCloser that call the notify function when an unexpected (!io.EOF) error happens, after call Write function.

func NewWriterOnError

func NewWriterOnError(w io.Writer, notify func(error)) io.Writer

NewWriterOnError returns a io.Writer that call the notify function when an unexpected (!io.EOF) error happens, after call Write function.

func NonEmptyReader

func NonEmptyReader(r io.Reader) (io.Reader, error)

NonEmptyReader takes a reader and returns it if it is not empty, or `ErrEmptyReader` if it is empty. If there is an error when reading the first byte of the given reader, it will be propagated.

func WriteNopCloser

func WriteNopCloser(w io.Writer) io.WriteCloser

WriteNopCloser returns a WriteCloser with a no-op Close method wrapping the provided Writer w.

Types

This section is empty.

Jump to

Keyboard shortcuts

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