// auth connection func connAuth(s *nc.SocketServer, conn net.Conn, line string) error { if strings.HasPrefix(line, "AUTH:") { arr := strings.Split(line[5:], "#") // AUTH:API_ID#SECRET#VERSION if len(arr) == 3 { var af nc.AuthFunc = func() (int, error) { merchantId := dps.MerchantService.GetMerchantIdByApiId(arr[0]) apiInfo := dps.MerchantService.GetApiInfo(merchantId) if apiInfo != nil && apiInfo.ApiSecret == arr[1] { if apiInfo.Enabled == 0 { return merchantId, errors.New("api has exipres") } } return merchantId, nil } if err := s.Auth(conn, af); err != nil { return err } s.Printf("[ CLIENT] - Version = %s", arr[2]) return nil } } return errors.New("conn reject") }