func assignValue()

in azkustodata/kcsb.go [57:108]


func assignValue(kcsb *ConnectionStringBuilder, rawKey string, value string) error {
	keyword, err := keywords.GetKeyword(rawKey)
	if err != nil {
		return err
	}

	switch keyword.Name {
	case keywords.DataSource:
		kcsb.DataSource = value
	case keywords.InitialCatalog:
		kcsb.InitialCatalog = value
	case keywords.FederatedSecurity:
		bval, err := strconv.ParseBool(value)
		if err != nil {
			return kustoErrors.ES(kustoErrors.OpUnknown, kustoErrors.KOther, "error: Couldn't parse federated security value: %s", err)
		}
		kcsb.AadFederatedSecurity = bval
	case keywords.ApplicationClientId:
		kcsb.ApplicationClientId = value
	case keywords.UserId:
		kcsb.AadUserID = value
	case keywords.AuthorityId:
		kcsb.AuthorityId = value

	case keywords.ApplicationToken:
		kcsb.ApplicationToken = value
	case keywords.UserToken:
		kcsb.UserToken = value
	case keywords.ApplicationKey:
		kcsb.ApplicationKey = value
	case keywords.ApplicationCertificateX5C:
		bval, err := strconv.ParseBool(value)
		if err != nil {
			return kustoErrors.ES(kustoErrors.OpUnknown, kustoErrors.KOther, "error: Couldn't parse certificate x5c value: %s", err)
		}
		kcsb.SendCertificateChain = bval
	case keywords.ApplicationCertificateBlob:
		decodeString, err := base64.StdEncoding.DecodeString(value)
		if err != nil {
			return kustoErrors.ES(kustoErrors.OpUnknown, kustoErrors.KOther, "error: Couldn't decode certificate blob: %s", err)
		}
		kcsb.ApplicationCertificateBytes = decodeString
	case keywords.ApplicationNameForTracing:
		kcsb.ApplicationForTracing = value
	case keywords.UserNameForTracing:
		kcsb.UserForTracing = value
	case keywords.Password:
		kcsb.Password = value
	}

	return nil
}