diff options
Diffstat (limited to 'public/read/index.php')
| -rw-r--r-- | public/read/index.php | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/public/read/index.php b/public/read/index.php deleted file mode 100644 index 74bb4ed..0000000 --- a/public/read/index.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php declare(strict_types=1); - -error_reporting(E_ALL); - -require_once(__DIR__.'/../../includes/functions.php'); - -$config = require_once(__DIR__.'/../../config.php'); - -if ('GET' !== filter_input(INPUT_SERVER, 'REQUEST_METHOD')) { - respondAndExit(405, 'Method Not Allowed'); -} - -$requestedUrl = filter_input(INPUT_GET, 'url', FILTER_VALIDATE_URL); - -if (!$requestedUrl || strlen($requestedUrl) > $config['max_url_length']) { - respondAndExit(400, 'Bad Request'); -} - -$urls = file($config['path_to_file'], FILE_IGNORE_NEW_LINES); - -// Remove requested url from list if present. -$remaingUrls = array_diff($urls, [$requestedUrl]); - -// Count will not have changed if requested url doesn't exist in the list. -if (count($remaingUrls) === count($urls)) { - respondAndExit(404, 'Not Found'); -} - -if (!file_put_contents($config['path_to_file'], implode("\n", $remaingUrls)."\n")) { - respondAndExit(500, 'Internal Server Error'); -} - -respondAndExit(308, 'Permanent Redirect', ["Location: $requestedUrl"]); |
