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
(Classic ASP) 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.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' 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. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Rest") set rest = Server.CreateObject("Chilkat.Rest") ' Connect Code... ' URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns bTls = 1 port = 443 bAutoReconnect = 1 success = rest.Connect("test-api.service.hmrc.gov.uk",port,bTls,bAutoReconnect) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( "ConnectFailReason: " & rest.ConnectFailReason) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If ' Build the request body... ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") success = json.UpdateString("periodKey","A001") success = json.UpdateNumber("vatDueSales","105.50") success = json.UpdateNumber("vatDueAcquisitions","-100.45") success = json.UpdateNumber("totalVatDue","5.05") success = json.UpdateNumber("vatReclaimedCurrPeriod","105.15") success = json.UpdateNumber("netVatDue","100.10") success = json.UpdateInt("totalValueSalesExVAT",300) success = json.UpdateInt("totalValuePurchasesExVAT",300) success = json.UpdateInt("totalValueGoodsSuppliedExVAT",3000) success = json.UpdateInt("totalAcquisitionsExVAT",3000) success = json.UpdateBool("finalised",1) ' Add Headers... success = rest.AddHeader("Accept","application/vnd.hmrc.1.0+json") success = rest.AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN") success = rest.AddHeader("Content-Type","application/json") ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbRequestBody = Server.CreateObject("Chilkat.StringBuilder") success = json.EmitSb(sbRequestBody) ' Set DebugMode so that no request is actually sent. rest.DebugMode = 1 ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbResponseBody = Server.CreateObject("Chilkat.StringBuilder") success = rest.FullRequestSb("POST","/organisations/vat/MY_HMRC_VRN/returns",sbRequestBody,sbResponseBody) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If ' 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.. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.BinData") set bdRequest = Server.CreateObject("Chilkat.BinData") success = rest.GetLastDebugRequest(bdRequest) Response.Write "<pre>" & Server.HTMLEncode( "----") & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( bdRequest.GetString("utf-8")) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "----") & "</pre>" ' 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} ' ' %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.