func BufferReader(reader io.Reader) *Buffer {
	b := &Buffer{
		lock: &sync.Mutex{},
	}

	go func() {
		io.Copy(b, reader)
		b.Close()
	}()

	return b
}
func BufferReader(reader io.Reader) *Buffer {
	b := &Buffer{
		lock: &sync.Mutex{},
	}

	go func() {
		io.Copy(b, reader)
		b.Close()
	}()

	return b
}
func BufferReader ( reader io . Reader ) * Buffer { b := & Buffer { lock : & sync . Mutex { } , } go func ( ) { io . Copy ( b , reader ) b . Close ( ) } ( ) return b }
/*
BufferReader returns a new gbytes.Buffer that wraps a reader.  The reader's contents are read into
the Buffer via io.Copy
*/
/ * BufferReader returns a new gbytes . Buffer that wraps a reader . The reader s contents are read into the Buffer via io . Copy