Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoRest
    Boolean iBAutoReconnect
    Variant vSbJson
    Handle hoSbJson
    String sSomePath
    Integer iMaxWaitMs
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    // Connect to the server using TLS
    Move False To iBAutoReconnect
    Get ComConnect Of hoRest "example.com" 443 True iBAutoReconnect To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Create some sample JSON to be sent in the body of the request.
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
    If (Not(IsComObjectCreated(hoSbJson))) Begin
        Send CreateComObject of hoSbJson
    End
    Get ComAppend Of hoSbJson '{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}' To iSuccess

    // Add the Content-Type HTTP request header.
    Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess

    // Just send the request.  Don't read the response.
    // The request is sent to https://example.com/something?arg1=xyz&arg2=abc
    Move "/something?arg1=xyz&arg2=abc" To sSomePath
    Get pvComObject of hoSbJson to vSbJson
    Get ComSendReqSb Of hoRest "POST" sSomePath vSbJson To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // OK, the request was sent.
    // Close the connection.
    Move 50 To iMaxWaitMs
    Get ComDisconnect Of hoRest iMaxWaitMs To iSuccess

    Showln "JSON POST Sent."


End_Procedure