code: func ReadAll(r io.Reader, bufsize int) (out []byte, err error) {
  	buff := make([]byte, bufsize)
  	n := 0
  	for err == nil {
  		n, err = r.Read(buff)
  		if n > 0 {
  			out = append(out, buff[:n]...)
  		}
  	}
  	if err == io.EOF {
  		err = nil
  	}
  	return out, err
  }
docs: // ReadAll is similarl to ioutil.ReadAll, except it doesn't use ever-increasing
  // internal buffer, instead asking for the exact buffer size.
  //
  // This is useful when you want to limit the sze of Read/Writes (websockets)