func (w *wrap) Write(p []byte) (int, error) {
	w.handler(p)
	return w.w.Write(p)
}
Write implements the io.Writer interface.
package wrapio
import (
	"fmt"
	"hash"
	"io"
	"sync"
)
type wrap struct {
	handler func([]byte)
	r       io.Reader
	w       io.Writer
}
func (w *wrap) Read(p []byte) (int, error) {
	n, err := w.r.Read(p)
	if n > 0 {
		w.handler(p[:n])
	}
	return n, err
}