url = $url; // make the curl request and update the path $request->getHttpCode(); // end on an error if ($request->error) { $error = $request->error; break; } // if we have a redirect to follow, update our working $url $url = $request->next ?? false; // update our code $code = $request->code ?? false; // increment our number of requests $hops++; } while ($hops < $max && $code && substr((string) $code, 0, 1) === '3'); // continue while we have a 3XX code // if we got a GET to automatically redirect to the url, do that now if (isset($_GET['go']) && $url) { header("Location: ".$url); exit; } } else { $error = [ 'type' => 'search', 'message' => 'There was an issue with URL you searched. Make sure it\'s a well-formed URL.' ]; } } ?>