go-git.v4: gopkg.in/src-d/go-git.v4/utils/ioutil Index | Examples | Files

package ioutil

import "gopkg.in/src-d/go-git.v4/utils/ioutil"

Package ioutil implements some I/O utility functions.

Index

Examples

Package Files

common.go

Variables

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

func CheckClose Uses

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.

Code:

// 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)
}

func NewContextReadCloser Uses

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

NewContextReadCloser as NewContextReader but with io.Closer interface.

func NewContextReader Uses

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 Uses

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

NewContextWriteCloser as NewContextWriter but with io.Closer interface.

func NewContextWriter Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

func WriteNopCloser(w io.Writer) io.WriteCloser

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

Package ioutil imports 5 packages (graph) and is imported by 43 packages. Updated 2019-08-02. Refresh now. Tools for package owners.