Adds beginning of status code handling, better status code reporting
This commit is contained in:
parent
db57919ade
commit
7f6c4a6d77
@ -84,9 +84,17 @@ class Follow
|
|||||||
{
|
{
|
||||||
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
$this->code = ($code) ? $code : 0;
|
$this->code = ($code) ? $code : 0;
|
||||||
if ($code == 200) {
|
|
||||||
|
// handle certain codes specifically
|
||||||
|
switch ($code)
|
||||||
|
{
|
||||||
|
case 200:
|
||||||
$this->updatePath($this->step, 'code', $this->code);
|
$this->updatePath($this->step, 'code', $this->code);
|
||||||
return true;
|
return true;
|
||||||
|
case 404:
|
||||||
|
$this->updatePath($this->step, 'code', $this->code);
|
||||||
|
$this->setError(['type' => 'code', 'message' => 'URL returned a 404 error response.']);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -24,6 +24,7 @@ if (isset($_POST['url']))
|
|||||||
// end on an error
|
// end on an error
|
||||||
if ($request->error)
|
if ($request->error)
|
||||||
{
|
{
|
||||||
|
$error = $request->error;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ if (isset($_POST['url']))
|
|||||||
// update our code
|
// update our code
|
||||||
$code = ($request->code) ? $request->code : false;
|
$code = ($request->code) ? $request->code : false;
|
||||||
|
|
||||||
} while ($code != 200);
|
} while (substr($code, 0, 1) != 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -116,6 +116,16 @@ button[type="submit"]:hover {
|
|||||||
background-color: #f0eded;
|
background-color: #f0eded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
address {
|
||||||
|
display: flex;
|
||||||
|
align-self: stretch;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-style: normal;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
background: #ffdee3;
|
||||||
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
align-self: stretch;
|
align-self: stretch;
|
||||||
@ -252,13 +262,21 @@ td {
|
|||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
word-wrap: anywhere;
|
word-wrap: anywhere;
|
||||||
}
|
}
|
||||||
|
td:first-child {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
td:nth-child(2) {
|
td:nth-child(2) {
|
||||||
line-height: 1.5rem;
|
line-height: 1.5rem;
|
||||||
padding: 0.8rem 1rem;
|
padding: 0.8rem 1rem;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
td:nth-child(2) a:hover {
|
td:nth-child(2) a:hover {
|
||||||
text-decoration-color: transparent;
|
text-decoration-color: transparent;
|
||||||
}
|
}
|
||||||
|
td:nth-child(4) {
|
||||||
|
text-align: center;
|
||||||
|
padding-right: 1.5rem;
|
||||||
|
}
|
||||||
td b {
|
td b {
|
||||||
border: 1px solid #aaa;
|
border: 1px solid #aaa;
|
||||||
border-right-width: 2px;
|
border-right-width: 2px;
|
||||||
@ -271,10 +289,17 @@ td b {
|
|||||||
padding: 0 0.25rem;
|
padding: 0 0.25rem;
|
||||||
transition: border-color 150ms ease-in-out, color 150ms ease-in-out;
|
transition: border-color 150ms ease-in-out, color 150ms ease-in-out;
|
||||||
}
|
}
|
||||||
|
td b i {
|
||||||
|
display: inline-block;
|
||||||
|
transition: transform 150ms ease-in-out;
|
||||||
|
}
|
||||||
td:nth-child(2) a:hover b {
|
td:nth-child(2) a:hover b {
|
||||||
border-color: #1a1a1a;
|
border-color: #1a1a1a;
|
||||||
color: #1a1a1a;
|
color: #1a1a1a;
|
||||||
}
|
}
|
||||||
|
td:nth-child(2) a:hover b i {
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
tbody tr:nth-child(odd) td {
|
tbody tr:nth-child(odd) td {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
22
index.php
22
index.php
@ -19,28 +19,33 @@ include('inc/codes.php');
|
|||||||
</nav>
|
</nav>
|
||||||
</menu>
|
</menu>
|
||||||
<form method="post" action="/" type="application/x-www-form-urlencoded">
|
<form method="post" action="/" type="application/x-www-form-urlencoded">
|
||||||
<input type="url" value="" placeholder="URL to check..." name="url">
|
<input type="url" value="<?php echo $url; ?>" placeholder="URL to check..." name="url">
|
||||||
<button type="submit">Check</button>
|
<button type="submit">Check</button>
|
||||||
</form>
|
</form>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// error message display
|
// error message display
|
||||||
if (isset($error))
|
if (isset($error))
|
||||||
{
|
{
|
||||||
|
echo "
|
||||||
|
<address>
|
||||||
|
".$error['message']."
|
||||||
|
</address>";
|
||||||
}
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<?php
|
||||||
// if we have a valid request object
|
// if we have a valid request object
|
||||||
if (isset($request) && count($request->path) > 0)
|
if (isset($request) && count($request->path) > 0)
|
||||||
{
|
{
|
||||||
$steps = count($request->path) - 1;
|
$steps = count($request->path) - 1;
|
||||||
$count = ($steps == 1) ? '1 redirect' : $steps.' redirects';
|
$count = ($steps == 1) ? 'once' : $steps.' times';
|
||||||
echo "
|
echo "
|
||||||
<article>
|
<article>
|
||||||
<h2>Final destination</h2>
|
<h2>Final destination</h2>
|
||||||
<p>The URL you traced had ".$count." and ended here:</p>
|
<p>Your URL returned a <code><strong>".$request->code."</strong></code> status code and redirected ".$count.":</p>
|
||||||
<p class=\"final\">
|
<p class=\"final\">
|
||||||
<a href=\"".$request->getFinalRedirect()."\" target=\"blank\">
|
<a href=\"".$request->getFinalRedirect()."\" target=\"blank\">
|
||||||
".$request->getFinalRedirect()."
|
".$request->getFinalRedirect()."
|
||||||
@ -61,11 +66,11 @@ if (isset($request) && count($request->path) > 0)
|
|||||||
$item = $step['step'];
|
$item = $step['step'];
|
||||||
$url = $step['url'];
|
$url = $step['url'];
|
||||||
$code = $step['code'];
|
$code = $step['code'];
|
||||||
$next = ($step['next']) ? '⥂⇄↩︎' : '✓';
|
$next = ($step['next']) ? '↩︎' : ((isset($error)) ? 'x' : '✓');
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td>".$item."</td>
|
<td>".$item."</td>
|
||||||
<td>".$url." <a href=\"".$url."\" target=\"blank\"><b>↗︎</b></a></td>
|
<td>".$url." <a href=\"".$url."\" target=\"blank\"><b><i>↗︎</i></b></a></td>
|
||||||
<td><code>".$code."</code></td>
|
<td><code>".$code."</code></td>
|
||||||
<td>".$next."</td>
|
<td>".$next."</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
@ -100,8 +105,7 @@ else
|
|||||||
<p>
|
<p>
|
||||||
Other curl settings
|
Other curl settings
|
||||||
</p>
|
</p>
|
||||||
</article>
|
</article>";
|
||||||
";
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<aside>
|
<aside>
|
||||||
|
Loading…
Reference in New Issue
Block a user