code: func readMethods(r io.Reader) ([]byte, error) {
  	header := []byte{0}
  	if _, err := r.Read(header); err != nil {
  		return nil, err
  	}
  
  	numMethods := int(header[0])
  	methods := make([]byte, numMethods)
  	_, err := io.ReadAtLeast(r, methods, numMethods)
  	return methods, err
  }
docs: // readMethods is used to read the number of methods
  // and proceeding auth methods