|
29 | 29 | */
|
30 | 30 | define('CSAJAX_FILTER_DOMAIN', false);
|
31 | 31 |
|
| 32 | +/** |
| 33 | + * Enables or disables Expect: 100-continue header. Some webservers don't |
| 34 | + * handle this header correctly. |
| 35 | + * Recommended value: false |
| 36 | + */ |
| 37 | +define('CSAJAX_SUPPRESS_EXPECT', false); |
| 38 | + |
32 | 39 | /**
|
33 | 40 | * Set debugging to true to receive additional messages - really helpful on development
|
34 | 41 | */
|
|
57 | 64 | // identify request headers
|
58 | 65 | $request_headers = array( );
|
59 | 66 | foreach ($_SERVER as $key => $value) {
|
60 |
| - if (strpos($key, 'HTTP_') === 0 ) { |
| 67 | + if (strpos($key, 'HTTP_') === 0 || strpos($key, 'CONTENT_') === 0) { |
61 | 68 | $headername = str_replace('_', ' ', str_replace('HTTP_', '', $key));
|
62 | 69 | $headername = str_replace(' ', '-', ucwords(strtolower($headername)));
|
63 | 70 | if (!in_array($headername, array( 'Host', 'X-Proxy-Url' ))) {
|
|
137 | 144 |
|
138 | 145 | // let the request begin
|
139 | 146 | $ch = curl_init($request_url);
|
140 |
| -array_push($request_headers, 'Expect:'); // Many hosts don't support 100-Expect |
| 147 | + |
| 148 | +// Suppress Expect header |
| 149 | +if (CSAJAX_SUPPRESS_EXPECT) { |
| 150 | + array_push($request_headers, 'Expect:'); |
| 151 | +} |
| 152 | + |
141 | 153 | curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers); // (re-)send headers
|
142 | 154 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return response
|
143 | 155 | curl_setopt($ch, CURLOPT_HEADER, true); // enabled response headers
|
|
0 commit comments