Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Workaround in PHP cURL for the 100-continue expectation
// cURL obeys the RFCs as it should. Meaning that for a HTTP/1.1 backend if the POST size is above 1024 bytes
// cURL sends a 'Expect: 100-continue' header. The server acknowledges and sends back the '100' status code.
// cuRL then sends the request body. This is proper behaviour. Nginx supports this header.
// This allows to work around servers that do not support that header.
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
// We're emptying the 'Expect' header, saying to the server: please accept the body right now.
// Read here:

Thanks for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment