Sample code for 30+ languages & platforms
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

PureBasic
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