diff options
author | redmatrix <mike@macgirvin.com> | 2016-08-30 17:23:14 -0700 |
---|---|---|
committer | redmatrix <mike@macgirvin.com> | 2016-08-30 17:23:14 -0700 |
commit | 85d8300421818f81788fcf082b00f14c444be567 (patch) | |
tree | fc47c57d079ded9025b16c1b6358ac61981cb31b | |
parent | d03c66c924af4ad4694d69be0e88673ef7656fd7 (diff) | |
download | volse-hubzilla-85d8300421818f81788fcf082b00f14c444be567.tar.gz volse-hubzilla-85d8300421818f81788fcf082b00f14c444be567.tar.bz2 volse-hubzilla-85d8300421818f81788fcf082b00f14c444be567.zip |
increase timeout on oembed remote fetches. This is a balancing act. Too short and many sites won't show up. Too long and you could be watching a spinner anxiously waiting for the page to load even if your own site is blindingly fast.
-rwxr-xr-x | include/oembed.php | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/oembed.php b/include/oembed.php index fe6f10d71..085637a00 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -156,9 +156,12 @@ function oembed_fetch_url($embedurl){ if ($action !== 'block') { // try oembed autodiscovery $redirects = 0; - $result = z_fetch_url($furl, false, $redirects, array('timeout' => 15, 'accept_content' => "text/*", 'novalidate' => true )); + $result = z_fetch_url($furl, false, $redirects, array('timeout' => 30, 'accept_content' => "text/*", 'novalidate' => true )); + if($result['success']) $html_text = $result['body']; + else + logger('fetch failure: ' . $furl); if($html_text) { $dom = @DOMDocument::loadHTML($html_text); @@ -171,7 +174,10 @@ function oembed_fetch_url($embedurl){ foreach($entries as $e){ $href = $e->getAttributeNode("href")->nodeValue; $x = z_fetch_url($href . '&maxwidth=' . App::$videowidth); - $txt = $x['body']; + if($x['success']) + $txt = $x['body']; + else + logger('fetch failed: ' . $href); break; } // soundcloud is now using text/json+oembed instead of application/json+oembed, @@ -180,7 +186,10 @@ function oembed_fetch_url($embedurl){ foreach($entries as $e){ $href = $e->getAttributeNode("href")->nodeValue; $x = z_fetch_url($href . '&maxwidth=' . App::$videowidth); - $txt = $x['body']; + if($x['success']) + $txt = $x['body']; + else + logger('json fetch failed: ' . $href); break; } } |