code: func readAuthenticationMethod(conn net.Conn) ([]byte, error) {
  	// Read in the number of authentication methods supported.
  	nmethods, err := readByte(conn)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	// Read nmethods number of bytes from the connection return the list of
  	// supported authentication methods to the caller.
  	authMethods := make([]byte, nmethods)
  	for i := byte(0); i < nmethods; i++ {
  		method, err := readByte(conn)
  		if err != nil {
  			return nil, trace.Wrap(err)
  		}
  
  		authMethods = append(authMethods, method)
  	}
  
  	return authMethods, nil
  }
docs: // readAuthenticationMethod reads in the authentication methods the client
  // supports.