package module
v0.1.0 Latest Latest

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

Go to latest
Published: Dec 19, 2018 License: BSD-2-Clause Imports: 3 Imported by: 1


GoDoc License

Buy Me A Coffee

A collection of io.Reader's that perform various useful functions.

import ""


The package may be used under the terms of the BSD 2-Clause License a copy of which may be found in the LICENSE file.



Package reader contains small, reusable APIs that build on the io.Reader interface.



This section is empty.


This section is empty.


func After

func After(r io.Reader, f func(n int, err error) (int, error)) io.Reader

After returns an io.Reader that proxies to another Reader and calls f after each Read. The return value of f is returned from the call to r.Read instead of the original return value.

func Before

func Before(r io.Reader, f func() error) io.Reader

Before returns an io.Reader that proxies calls to Read and executes the given function exactly once before the first call. If the function errors, the error is returned and the call to Read is never proxied to the inner io.Reader (subsequent calls to Read will still be proxied). Because no call to Read returns until the one call to f returns, if f causes Read to be called, it will deadlock. If f panics, future calls of Read return without calling f. For more information see the documentation for sync.Once.

func Conn added in v0.0.2

func Conn(c net.Conn, r io.Reader) net.Conn

Conn replaces the Read method of c with r.Read. Generally, r wraps the Read method of c.

func Error

func Error(err error) io.Reader

Error returns a reader that always returns the given error for all calls to Read.


type Func added in v0.0.3

type Func func(p []byte) (n int, err error)

Func is an adapter to allow the use of ordinary functions as io.Readers. If f is a function with the appropriate signature, Func(f) is an io.Reader that calls f.

func (Func) Read added in v0.0.3

func (f Func) Read(p []byte) (n int, err error)

Read calls f.

Jump to

Keyboard shortcuts

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