Sample code for 30+ languages & platforms
DataFlex

HTTP Methods - GET and DELETE

Demonstrate a method for sending HTTP requests that don't have a request body, such as for GET or DELETE requests.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sUrl
    Variant vResp
    Handle hoResp
    Integer iStatusCode
    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(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Specifiy a session log file so we can see the exact request/response
    Set ComSessionLogFilename Of hoHttp To "c:/aaworkarea/sessionLog.txt"

    // Perhaps add a custom header or two..
    Send ComSetRequestHeader To hoHttp "x-exz-date" "20201012T235046Z"
    Send ComSetRequestHeader To hoHttp "x-exz-id" "1234"

    // Send a GET request to https://www.example.com/someting?param1=123&param2=abc
    Move "https://www.example.com/someting?param1=123&param2=abc" To sUrl
    Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
    If (Not(IsComObjectCreated(hoResp))) Begin
        Send CreateComObject of hoResp
    End
    Get pvComObject of hoResp to vResp
    Get ComHttpNoBody Of hoHttp "GET" sUrl vResp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // The GET request that is sent looks like this.
    // The Accept and Accept-Encoding headers are automatically added by default.

    // 	GET /someting?param1=123&param2=abc HTTP/1.1
    // 	Host: www.example.com
    // 	Accept: */*
    // 	Accept-Encoding: gzip
    // 	x-exz-date: 20201012T235046Z
    // 	x-exz-id: 1234

    // Get the response status
    Get ComStatusCode Of hoResp To iStatusCode
    Showln "Response status: " iStatusCode

    // Get the response body
    Get ComBodyStr Of hoResp To sTemp1
    Showln sTemp1

    // -------------------------------------------------------------
    // Let's say we want to send a DELETE request, and we only want to accept an application/json response,
    // and we don't want gzipped responses...

    // First remove the previously specified custom headers.
    Send ComClearHeaders To hoHttp

    // Indicate we only accept application/json non-gzipped responses.
    Set ComAccept Of hoHttp To "application/json"
    Set ComAllowGzip Of hoHttp To False

    // Send a DELETE request to https://www.example.com/deleteSomething
    Move "https://www.example.com/deleteSomething" To sUrl
    Get pvComObject of hoResp to vResp
    Get ComHttpNoBody Of hoHttp "DELETE" sUrl vResp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // The DELETE request that is sent looks like this.
    // The empty Accept-Encoding header value means we only want non-compressed responses.

    // 	DELETE /deleteSomething HTTP/1.1
    // 	Host: www.example.com
    // 	Accept: application/json
    // 	Accept-Encoding: 

    // Get the response status
    Get ComStatusCode Of hoResp To iStatusCode
    Showln "Response status: " iStatusCode

    // Get the response body
    Get ComBodyStr Of hoResp To sTemp1
    Showln sTemp1


End_Procedure