Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) Debug REST HTTP RequestDemonstrates how to generate the HTTP Request (with all headers intact) without actually sending the request. Note: This example requires Chilkat v9.5.0.77 or later.
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; This example will connect to the web server, but does not actually send a request. ; When in DebugMode, the request is composed in memory and can be retrieved by calling ; GetLastDebugRequest. $oRest = ObjCreate("Chilkat.Rest") ; Connect Code... ; URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns Local $bTls = True Local $iPort = 443 Local $bAutoReconnect = True Local $bSuccess = $oRest.Connect("test-api.service.hmrc.gov.uk",$iPort,$bTls,$bAutoReconnect) If ($bSuccess <> True) Then ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF) ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ; Build the request body... $oJson = ObjCreate("Chilkat.JsonObject") $oJson.UpdateString("periodKey","A001") $oJson.UpdateNumber("vatDueSales","105.50") $oJson.UpdateNumber("vatDueAcquisitions","-100.45") $oJson.UpdateNumber("totalVatDue","5.05") $oJson.UpdateNumber("vatReclaimedCurrPeriod","105.15") $oJson.UpdateNumber("netVatDue","100.10") $oJson.UpdateInt("totalValueSalesExVAT",300) $oJson.UpdateInt("totalValuePurchasesExVAT",300) $oJson.UpdateInt("totalValueGoodsSuppliedExVAT",3000) $oJson.UpdateInt("totalAcquisitionsExVAT",3000) $oJson.UpdateBool("finalised",True) ; Add Headers... $oRest.AddHeader("Accept","application/vnd.hmrc.1.0+json") $oRest.AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN") $oRest.AddHeader("Content-Type","application/json") $oSbRequestBody = ObjCreate("Chilkat.StringBuilder") $oJson.EmitSb($oSbRequestBody) ; Set DebugMode so that no request is actually sent. $oRest.DebugMode = True $oSbResponseBody = ObjCreate("Chilkat.StringBuilder") $bSuccess = $oRest.FullRequestSb("POST","/organisations/vat/MY_HMRC_VRN/returns",$oSbRequestBody,$oSbResponseBody) If ($bSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ; Get the exact contents of what would've been sent. ; This includes the HTTP start line, the HTTP request headers, and the request body. ; Given that it's possible for the request body to contain binary data, ; the GetLastDebugRequest fetches into a BinData object. ; In this case, however, our request body contained JSON, so we can ; examine it as a string.. $oBdRequest = ObjCreate("Chilkat.BinData") $bSuccess = $oRest.GetLastDebugRequest($oBdRequest) ConsoleWrite("----" & @CRLF) ConsoleWrite($oBdRequest.GetString("utf-8") & @CRLF) ConsoleWrite("----" & @CRLF) ; The output for the above case: ; POST /organisations/vat/MY_HMRC_VRN/returns HTTP/1.1 ; Accept: application/vnd.hmrc.1.0+json ; Host: test-api.service.hmrc.gov.uk ; Authorization: Bearer HMRC_ACCESS_TOKEN ; Content-Type: application/json ; Content-Length: 281 ; ; {"periodKey":"A001","vatDueSales":105.50, ... ,"finalised":true} ; ; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.