From 85d8300421818f81788fcf082b00f14c444be567 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 30 Aug 2016 17:23:14 -0700 Subject: 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. --- include/oembed.php | 15 ++++++++++++--- 1 file 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; } } -- cgit v1.2.3