DataFlex
DataFlex
Example: Secrets.SecretSpecToJson method
Demonstrates theSecretSpecToJson method. This method converts a secret specification string to the JSON required to create or lookup the secret.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSecrets
Variant vJson
Handle hoJson
String sSspec
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatSecrets)) To hoSecrets
If (Not(IsComObjectCreated(hoSecrets))) Begin
Send CreateComObject of hoSecrets
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
// 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
Move "!!imap|john@example.com" To sSspec
Get pvComObject of hoJson to vJson
Get ComSecretSpecToJson Of hoSecrets sSspec vJson To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Result:
// {
// "service": "imap",
// "username": "john@example.com"
// }
// ------------------------------------------------------
// 2: appName + service + username
Move "!!myApp|imap|john@example.com" To sSspec
Get pvComObject of hoJson to vJson
Get ComSecretSpecToJson Of hoSecrets sSspec vJson To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Result:
// {
// "appName": "myApp",
// "service": "imap",
// "username": "john@example.com"
// }
// ------------------------------------------------------
// 3: service + domain + username
Move "!!|imap|imap.example.com|john" To sSspec
Get pvComObject of hoJson to vJson
Get ComSecretSpecToJson Of hoSecrets sSspec vJson To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Result:
// {
// "service": "imap",
// "domain": "imap.example.com",
// "username": "john"
// }
// ------------------------------------------------------
// 4: appName + service + domain + username
Move "!!myApp|imap|imap.example.com|john" To sSspec
Get pvComObject of hoJson to vJson
Get ComSecretSpecToJson Of hoSecrets sSspec vJson To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Result:
// {
// "appName": "myApp",
// "service": "imap",
// "domain": "imap.example.com",
// "username": "john"
// }
End_Procedure