![]() |
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
(Unicode 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_CkHttpCurlW.h> #include <C_CkJsonObjectW.h> void ChilkatSample(void) { BOOL success; HCkHttpCurlW httpCurl; const wchar_t *targetCurl; const wchar_t *fnName; HCkJsonObjectW planJson; success = FALSE; httpCurl = CkHttpCurlW_Create(); // The target curl command requires {{order_id}}. targetCurl = L"curl -X GET https://api.example.com/orders/{{order_id}}"; // Define a helper function that produces order_id from customer_id. fnName = L"getOrderId"; CkHttpCurlW_AddFunction(httpCurl,fnName,L"curl -X GET https://api.example.com/order-id?customer={{customer_id}}"); CkHttpCurlW_AddOutput(httpCurl,fnName,L"order.id",L"order_id"); // Define a helper function that produces customer_id from account_name. fnName = L"getCustomerId"; CkHttpCurlW_AddFunction(httpCurl,fnName,L"curl -X GET https://api.example.com/customer-id?account={{account_name}}"); CkHttpCurlW_AddOutput(httpCurl,fnName,L"customer.id",L"customer_id"); // Provide the starting known input. CkHttpCurlW_SetVar(httpCurl,L"account_name",L"acme"); // Examine the execution plan without running any requests. planJson = CkJsonObjectW_Create(); CkJsonObjectW_putEmitCompact(planJson,FALSE); success = CkHttpCurlW_ExaminePlan(httpCurl,targetCurl,planJson); // Success is expected to be TRUE. wprintf(L"success = %d\n",success); wprintf(L"%s\n",CkJsonObjectW_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": [] // }] // } CkHttpCurlW_Dispose(httpCurl); CkJsonObjectW_Dispose(planJson); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.