PureBasic
PureBasic
POST JSON Without Waiting for the Response
See more REST Examples
This example demonstrates sending a POST w/ content-type "application/json" where the body of the POST contains a JSON document. The POST is sent, but we don't wait for the response.Chilkat PureBasic Downloads
IncludeFile "CkRest.pb"
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Connect to the server using TLS
bAutoReconnect.i = 0
success = CkRest::ckConnect(rest,"example.com",443,1,bAutoReconnect)
If success = 0
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
; Create some sample JSON to be sent in the body of the request.
sbJson.i = CkStringBuilder::ckCreate()
If sbJson.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbJson,"{" + Chr(34) + "create" + Chr(34) + ": [{" + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "Woo Single #1" + Chr(34) + "," + Chr(34) + "type" + Chr(34) + ": " + Chr(34) + "simple" + Chr(34) + "," + Chr(34) + "regular_price" + Chr(34) + ": " + Chr(34) + "21.99" + Chr(34) + "}]}")
; Add the Content-Type HTTP request header.
CkRest::ckAddHeader(rest,"Content-Type","application/json")
; Just send the request. Don't read the response.
; The request is sent to https://example.com/something?arg1=xyz&arg2=abc
somePath.s = "/something?arg1=xyz&arg2=abc"
success = CkRest::ckSendReqSb(rest,"POST",somePath,sbJson)
If success = 0
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbJson)
ProcedureReturn
EndIf
; OK, the request was sent.
; Close the connection.
maxWaitMs.i = 50
CkRest::ckDisconnect(rest,maxWaitMs)
Debug "JSON POST Sent."
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbJson)
ProcedureReturn
EndProcedure