From ec99e3ed625110452a694d16f937c35a8d1ba817 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 21 Mar 2016 21:31:28 -0700 Subject: attempting to work with braindead lighttpd gnusocial servers --- include/network.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'include/network.php') diff --git a/include/network.php b/include/network.php index b0bf628ba..3efc82447 100644 --- a/include/network.php +++ b/include/network.php @@ -185,9 +185,11 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) { if($ciphers) @curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, $ciphers); - if(x($opts,'headers')) + if(x($opts,'headers')) { @curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']); - +logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects); + } + if(x($opts,'nobody')) @curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']); @@ -236,6 +238,21 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) { $base = substr($base,strlen($chunk)); } + // would somebody take lighttpd and just shoot it? + + if($http_code == 417) { + curl_close($ch); + if($opts) { + if($opts['headers']) + $opts['headers'][] = 'Expect:'; + else + $opts['headers'] = array('Expect:'); + } + else + $opts = array('headers' => array('Expect:')); + return z_post_url($url,$params,++$redirects,$opts); + } + if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307 || $http_code == 308) { $matches = array(); preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches); @@ -1105,6 +1122,7 @@ function discover_by_webbie($webbie) { } if($link['rel'] == 'salmon') { $has_salmon = true; + $salmon = $link['href']; } if($link['rel'] == 'http://schemas.google.com/g/2010#updates-from') { $atom_feed = $link['href']; -- cgit v1.2.3