Skip to content

Instantly share code, notes, and snippets.

@thinmy
Forked from perusio/gist:1724301
Created September 19, 2016 19:17
Show Gist options
  • Save thinmy/f1618df687c906d83303e5309c82c483 to your computer and use it in GitHub Desktop.
Save thinmy/f1618df687c906d83303e5309c82c483 to your computer and use it in GitHub Desktop.
Workaround in PHP cURL for the 100-continue expectation
<?php
// 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: http://pilif.github.com/2007/02/the-return-of-except-100-continue/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment