![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) curl Dependency Engine Simple ExampleSee more CURL ExamplesThis example demonstrates a simple way to define When the
The execution plan is then carried out, with the final step being the target curl command originally passed to Note: This example requires Chilkat v11.5.0 or greater. For more information, see https://www.chilkatsoft.com/curl_dependency_engine.asp
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoHttpCurl String sTargetCurl String sFnName String sJsonPath Variant vJsonOAuth2 Handle hoJsonOAuth2 Integer iStatusCode Variant vResponseJson Handle hoResponseJson String sTemp1 Move False To iSuccess Get Create (RefClass(cComChilkatHttpCurl)) To hoHttpCurl If (Not(IsComObjectCreated(hoHttpCurl))) Begin Send CreateComObject of hoHttpCurl End // The target curl command we ultimately want to execute. // It requires a {{site_id}} value, which is not yet known. Move "GET https://graph.microsoft.com/v1.0/sites/{{site_id}}/drives" To sTargetCurl // Because site_id is unknown, we define a helper function (curl command) // that can retrieve it. Move "getSite" To sFnName Get ComAddFunction Of hoHttpCurl sFnName "GET https://graph.microsoft.com/v1.0/sites/root:/sites/{{site_name}}" To iSuccess // Define the outputs produced by the helper function. // Outputs are extracted from the JSON response using JSON paths. // Here, the "id" field from the response is mapped to the variable "site_id". Move "id" To sJsonPath Get ComAddOutput Of hoHttpCurl sFnName sJsonPath "site_id" To iSuccess // Provide a value for site_name, which is required by the getSite function. Send ComSetVar To hoHttpCurl "site_name" "test" // ---------------------------------------------------------------------------------------------------------------------- // Build the OAuth2 configuration used for authentication. // This uses the client credentials flow, with secrets retrieved // from the local secrets manager (because EnableSecrets = true). Get Create (RefClass(cComChilkatJsonObject)) To hoJsonOAuth2 If (Not(IsComObjectCreated(hoJsonOAuth2))) Begin Send CreateComObject of hoJsonOAuth2 End Set ComEnableSecrets Of hoJsonOAuth2 To True Get ComUpdateString Of hoJsonOAuth2 "oauth2.client_id" "!!sharepoint|oauth2|client_id" To iSuccess Get ComUpdateString Of hoJsonOAuth2 "oauth2.client_secret" "!!sharepoint|oauth2|client_secret" To iSuccess Get ComUpdateString Of hoJsonOAuth2 "oauth2.scope" "https://graph.microsoft.com/.default" To iSuccess Get ComUpdateString Of hoJsonOAuth2 "oauth2.token_endpoint" "!!sharepoint|oauth2|token_endpoint" To iSuccess // ---------------------------------------------------------------------------------------------------------------------- Get pvComObject of hoJsonOAuth2 to vJsonOAuth2 Get ComSetAuth Of hoHttpCurl vJsonOAuth2 To iSuccess // Execute the target curl command. // Internally, the system will: // 1) Detect that {{site_id}} is required but not yet defined. // 2) Find that the "getSite" function can produce site_id. // 3) Verify that getSite's input (site_name) is already available. // 4) Build an execution plan: first run getSite, then run the target curl. Get ComDoYourThing Of hoHttpCurl sTargetCurl To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttpCurl To sTemp1 Showln sTemp1 Procedure_Return End // Retrieve and display the HTTP response status code. Get ComStatusCode Of hoHttpCurl To iStatusCode Showln "response status code: " iStatusCode // Load and display the JSON response from the final curl command. Get Create (RefClass(cComChilkatJsonObject)) To hoResponseJson If (Not(IsComObjectCreated(hoResponseJson))) Begin Send CreateComObject of hoResponseJson End Set ComEmitCompact Of hoResponseJson To False Get pvComObject of hoResponseJson to vResponseJson Get ComGetResponseJson Of hoHttpCurl vResponseJson To iSuccess Get ComEmit Of hoResponseJson To sTemp1 Showln sTemp1 End_Procedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.