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);
|
||||
$this->code = ($code) ? $code : 0;
|
||||
if ($code == 200) {
|
||||
|
||||
// handle certain codes specifically
|
||||
switch ($code)
|
||||
{
|
||||
case 200:
|
||||
$this->updatePath($this->step, 'code', $this->code);
|
||||
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
|
||||
|
@ -24,6 +24,7 @@ if (isset($_POST['url']))
|
||||
// end on an error
|
||||
if ($request->error)
|
||||
{
|
||||
$error = $request->error;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -33,7 +34,7 @@ if (isset($_POST['url']))
|
||||
// update our code
|
||||
$code = ($request->code) ? $request->code : false;
|
||||
|
||||
} while ($code != 200);
|
||||
} while (substr($code, 0, 1) != 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -116,6 +116,16 @@ button[type="submit"]:hover {
|
||||
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 {
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
@ -252,13 +262,21 @@ td {
|
||||
vertical-align: top;
|
||||
word-wrap: anywhere;
|
||||
}
|
||||
td:first-child {
|
||||
text-align: center;
|
||||
}
|
||||
td:nth-child(2) {
|
||||
line-height: 1.5rem;
|
||||
padding: 0.8rem 1rem;
|
||||
width: 100%;
|
||||
}
|
||||
td:nth-child(2) a:hover {
|
||||
text-decoration-color: transparent;
|
||||
}
|
||||
td:nth-child(4) {
|
||||
text-align: center;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
td b {
|
||||
border: 1px solid #aaa;
|
||||
border-right-width: 2px;
|
||||
@ -271,10 +289,17 @@ td b {
|
||||
padding: 0 0.25rem;
|
||||
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 {
|
||||
border-color: #1a1a1a;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
td:nth-child(2) a:hover b i {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
tbody tr:nth-child(odd) td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
22
index.php
22
index.php
@ -19,28 +19,33 @@ include('inc/codes.php');
|
||||
</nav>
|
||||
</menu>
|
||||
<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>
|
||||
</form>
|
||||
</header>
|
||||
<main>
|
||||
|
||||
<?php
|
||||
// error message display
|
||||
if (isset($error))
|
||||
{
|
||||
|
||||
echo "
|
||||
<address>
|
||||
".$error['message']."
|
||||
</address>";
|
||||
}
|
||||
?>
|
||||
|
||||
<main>
|
||||
<?php
|
||||
// if we have a valid request object
|
||||
if (isset($request) && count($request->path) > 0)
|
||||
{
|
||||
$steps = count($request->path) - 1;
|
||||
$count = ($steps == 1) ? '1 redirect' : $steps.' redirects';
|
||||
$count = ($steps == 1) ? 'once' : $steps.' times';
|
||||
echo "
|
||||
<article>
|
||||
<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\">
|
||||
<a href=\"".$request->getFinalRedirect()."\" target=\"blank\">
|
||||
".$request->getFinalRedirect()."
|
||||
@ -61,11 +66,11 @@ if (isset($request) && count($request->path) > 0)
|
||||
$item = $step['step'];
|
||||
$url = $step['url'];
|
||||
$code = $step['code'];
|
||||
$next = ($step['next']) ? '⥂⇄↩︎' : '✓';
|
||||
$next = ($step['next']) ? '↩︎' : ((isset($error)) ? 'x' : '✓');
|
||||
echo "
|
||||
<tr>
|
||||
<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>".$next."</td>
|
||||
</tr>";
|
||||
@ -100,8 +105,7 @@ else
|
||||
<p>
|
||||
Other curl settings
|
||||
</p>
|
||||
</article>
|
||||
";
|
||||
</article>";
|
||||
}
|
||||
?>
|
||||
<aside>
|
||||
|
Loading…
Reference in New Issue
Block a user