HTTP “broken pipe” Error on non-Windows Systems (Linux, iOS, MacOSX, etc.)

If you see the error lines “The connection already exists, as far as we know..” followed by “socketError: Broken pipe”  in any LastErrorText for a method that sends an HTTP request, it means the following:   The server replied to the previous request without a “Connection: close” header, thus allowing the client to keep the connection open for the next request.  […]

Progress Monitoring HTTP Requests in Installed Apps

This is a note about the pitfalls of progress monitoring HTTP requests sent from an installed app (i.e. not web app running in a browser). Ideally, we’d like to know how long an HTTP POST is going to take, and update the percent-completed visually so that when it reaches 100% the operation is neatly finished as indicated.  This turns out […]

Chilkat HTTP Methods that return an HttpResponse Object

Question: I am having a problem identifying read timeouts from sites. I set ConnectTimeout and ReadTimeout properties of the HTTP object. When the site fails to respond within ReadTimeout, the following happens: PText still returns 0 PText returns a response object Reading of StatusCode and StatusText properties of the response object is successful Reading of BodyStr property of the response […]

Calling a REST POST API and Parsing JSON/XML Response

This blog post describes a general procedure for writing code that calls an HTTP/HTTPS POST REST API and parses the JSON or XML response. Step 1: Form the CURL Command A POST request in the form of a CURL command will look like this: curl -X POST \ -H “Accept: application/vnd.hmrc.1.0+json” \ -H “Content-Type: application/json” \ -H “Authorization: Bearer […]

HTTP Upload vs. SOAP Request (how they are different)

What is the difference between an HTTP Upload and a SOAP Request? An upload is an HTTP request that uses the multipart/form-data content-type. (All HTTP requests and responses are MIME, and the format of a given request is determined by the content-type.) A SOAP request, on the other hand, has a content-type of text/xml, which means it is composed of […]

v9.5.0.34 Micro Update: SSL/TLS Perfect Forward Secrecy, Minor HTTP and ASN.1 Fixes

The internal Chilkat SSL/TLS implementation now supports the TLS_DHE_RSA_WITH_AES_256_CBC_SHA and TLS_DHE_RSA_WITH_AES_128_CBC_SHA cipher suites. These allow for perfect forward secrecy. Note: This is implemented on the client-side for all protocols using SSL/TLS. The SSL/TLS client provides the server with a list of algorithms it supports, and it is the server that decides which is to be used. These new algorithms are […]

v9.5.0.32 Micro Update: HTTP Connection Left in Invalid State after Event Callback Aborts Operation

For HTTP requests that have KeepAlive indicated in the response header, the internal connection is not closed so that a subsequent request may continue using the existing connection. However, when the client application aborts in the middle of receiving the response, the connection must be closed to avoid being left in an invalid state (where the some of the remainder […]

v9.4.1.44 Added Http.AwsEndpoint Property

The AwsEndpoint property is the regional endpoint (domain) to be used for Amazon S3 method calls. The default value is “”. This can be set to any valid Amazon S3 endpoint, such as “”, or the endpoints for S3-API compatible services from other different providers. This is a pre-release feature. Pre-release builds are made available upon request ( Please make […]