Sample code for 30+ languages & platforms
Visual FoxPro Requires Chilkat v11.5.0+

Example: Secrets.SecretSpecToJson method

Demonstrates the SecretSpecToJson method. This method converts a secret specification string to the JSON required to create or lookup the secret.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSecrets
LOCAL loJson
LOCAL lcSspec

lnSuccess = 0

loSecrets = CreateObject('Chilkat.Secrets')
loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0

*  A secret name can include up to 4 components:
*  [appName] / service / [domain] / username

*  This example will demonstrate secret specification strings
*  for each possible combination.

*  ------------------------------------------------------
*  1: service + username
lcSspec = "!!imap|john@example.com"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

*  Result:
*  {
*    "service": "imap",
*    "username": "john@example.com"
*  }

*  ------------------------------------------------------
*  2: appName + service + username
lcSspec = "!!myApp|imap|john@example.com"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

*  Result:
*  {
*    "appName": "myApp",
*    "service": "imap",
*    "username": "john@example.com"
*  }

*  ------------------------------------------------------
*  3: service + domain + username
lcSspec = "!!|imap|imap.example.com|john"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

*  Result:
*  {
*    "service": "imap",
*    "domain": "imap.example.com",
*    "username": "john"
*  }

*  ------------------------------------------------------
*  4: appName + service + domain + username
lcSspec = "!!myApp|imap|imap.example.com|john"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

*  Result:
*  {
*    "appName": "myApp",
*    "service": "imap",
*    "domain": "imap.example.com",
*    "username": "john"
*  }

RELEASE loSecrets
RELEASE loJson