PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkJsonObject.pb"
IncludeFile "CkSecrets.pb"
Procedure ChilkatExample()
success.i = 0
secrets.i = CkSecrets::ckCreate()
If secrets.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::setCkEmitCompact(json, 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
sspec.s = "!!imap|john@example.com"
CkSecrets::ckSecretSpecToJson(secrets,sspec,json)
Debug CkJsonObject::ckEmit(json)
; Result:
; {
; "service": "imap",
; "username": "john@example.com"
; }
; ------------------------------------------------------
; 2: appName + service + username
sspec = "!!myApp|imap|john@example.com"
CkSecrets::ckSecretSpecToJson(secrets,sspec,json)
Debug CkJsonObject::ckEmit(json)
; Result:
; {
; "appName": "myApp",
; "service": "imap",
; "username": "john@example.com"
; }
; ------------------------------------------------------
; 3: service + domain + username
sspec = "!!|imap|imap.example.com|john"
CkSecrets::ckSecretSpecToJson(secrets,sspec,json)
Debug CkJsonObject::ckEmit(json)
; Result:
; {
; "service": "imap",
; "domain": "imap.example.com",
; "username": "john"
; }
; ------------------------------------------------------
; 4: appName + service + domain + username
sspec = "!!myApp|imap|imap.example.com|john"
CkSecrets::ckSecretSpecToJson(secrets,sspec,json)
Debug CkJsonObject::ckEmit(json)
; Result:
; {
; "appName": "myApp",
; "service": "imap",
; "domain": "imap.example.com",
; "username": "john"
; }
CkSecrets::ckDispose(secrets)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure