Sample code for 30+ languages & platforms
PureBasic

Transition from Http.SynchronousRequest to Http.HttpSReq

Provides instructions for replacing deprecated SynchronousRequest method calls with HttpSReq.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpRequest.pb"

Procedure ChilkatExample()

    success.i = 0

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    domain.s = "example.com"
    port.i = 443
    tls.i = 1

    req.i = CkHttpRequest::ckCreate()
    If req.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpRequest::setCkHttpVerb(req, "POST")
    CkHttpRequest::setCkPath(req, "/some/path")
    CkHttpRequest::setCkContentType(req, "application/x-www-form-urlencoded")
    CkHttpRequest::ckAddParam(req,"firstName","Matt")
    CkHttpRequest::ckAddParam(req,"lastName","Smith")

    ; ------------------------------------------------------------------------
    ; The SynchronousRequest method is deprecated:

    responseObj.i = CkHttp::ckSynchronousRequest(http,domain,port,tls,req)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkHttpRequest::ckDispose(req)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkHttpResponse::ckDispose(responseObj)

    ; ------------------------------------------------------------------------
    ; Do the equivalent using HttpSReq.
    ; Your application creates a new, empty HttpResponse object which is passed 
    ; in the last argument and filled upon success.

    responseOut.i = CkHttpResponse::ckCreate()
    If responseOut.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckHttpSReq(http,domain,port,tls,req,responseOut)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkHttpRequest::ckDispose(req)
        CkHttpResponse::ckDispose(responseOut)
        ProcedureReturn
    EndIf



    CkHttp::ckDispose(http)
    CkHttpRequest::ckDispose(req)
    CkHttpResponse::ckDispose(responseOut)


    ProcedureReturn
EndProcedure