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.  However, when the client (Chilkat) sent the next request, the connection was actually closed (thus the “broken pipe”).

Solution:  This problem should be fixed in Chilkat v9.5.0.79 and above.  Chilkat will automatically (internally) reconnect to the server and then send the request.

 

  FullRequestBd:
    DllDate: Mar 13 2019
    ChilkatVersion: 9.5.0.77
    UnlockPrefix: 
    Architecture: Little Endian; 64-bit
    Language: Cocoa Objective-C
    VerboseLogging: 0
    uriPath: ***
    fullRequestBody:
      autoReconnect: 1
      Sending request with body...
      sendReqBody:
        sendReqHeader:
          omitContentType: 0
          sendReqHeader2:
            checkEstablishConnection:
              The connection already exists, as far as we know..
            --checkEstablishConnection
            addAuthAws:
              AwsSignatureVersion: 4
              buildAwsCanonicalQueryParams:
                queryParams: 
                canonicalizedQueryParams: 
              --buildAwsCanonicalQueryParams
              awsAuthHeaderV4:
                finalSignature: ***
                authHeaderValue: AWS4-HMAC-SHA256 Credential=xxx/yyy6/eu-west-3/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=***
              --awsAuthHeaderV4
            --addAuthAws
          --sendReqHeader2
        --sendReqHeader
        Error sending on socket (1)
        socketErrno: 32
        socketError: Broken pipe
        send_size: 16413
        Failed to send TLS message.
      --sendReqBody
    --fullRequestBody
    Failed.
  --FullRequestBd