![]() |
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
(C) Viewing a Simple Three-Step Execution PlanSee more CURL ExamplesThis example demonstrates a straightforward, valid dependency chain that results in a three-step execution plan. The goal is not to execute the requests, but to inspect how the plan is constructed using The target Because
When Note: This example requires Chilkat v11.5.0 or greater. For more information, see https://www.chilkatsoft.com/curl_dependency_engine.asp
#include <C_CkHttpCurl.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { BOOL success; HCkHttpCurl httpCurl; const char *targetCurl; const char *fnName; HCkJsonObject planJson; success = FALSE; httpCurl = CkHttpCurl_Create(); // The target curl command requires {{order_id}}. targetCurl = "curl -X GET https://api.example.com/orders/{{order_id}}"; // Define a helper function that produces order_id from customer_id. fnName = "getOrderId"; CkHttpCurl_AddFunction(httpCurl,fnName,"curl -X GET https://api.example.com/order-id?customer={{customer_id}}"); CkHttpCurl_AddOutput(httpCurl,fnName,"order.id","order_id"); // Define a helper function that produces customer_id from account_name. fnName = "getCustomerId"; CkHttpCurl_AddFunction(httpCurl,fnName,"curl -X GET https://api.example.com/customer-id?account={{account_name}}"); CkHttpCurl_AddOutput(httpCurl,fnName,"customer.id","customer_id"); // Provide the starting known input. CkHttpCurl_SetVar(httpCurl,"account_name","acme"); // Examine the execution plan without running any requests. planJson = CkJsonObject_Create(); CkJsonObject_putEmitCompact(planJson,FALSE); success = CkHttpCurl_ExaminePlan(httpCurl,targetCurl,planJson); // Success is expected to be TRUE. printf("success = %d\n",success); printf("%s\n",CkJsonObject_emit(planJson)); // Expected result: // // { // "plan": [{ // "function": "getCustomerId", // "inputs": ["account_name"], // "outputs": ["customer_id"] // },{ // "function": "getOrderId", // "inputs": ["customer_id"], // "outputs": ["order_id"] // },{ // "function": "targetCurl", // "inputs": ["order_id"], // "outputs": [] // }] // } CkHttpCurl_Dispose(httpCurl); CkJsonObject_Dispose(planJson); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.