Skip to content

Instantly share code, notes, and snippets.

@lsloan
Forked from perusio/gist:1724301
Created January 18, 2019 19:05
Show Gist options
  • Save lsloan/bad9f599695cc35d76402453624faa38 to your computer and use it in GitHub Desktop.
Save lsloan/bad9f599695cc35d76402453624faa38 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