Commit Graph

112 Commits

Author SHA1 Message Date
Kharec 1826f7e847 fix: guard validation helpers against undef IP 2025-12-28 08:48:29 +01:00
Kharec 86007a74d8 fix: guard validation helpers against undef host 2025-12-28 08:48:24 +01:00
Kharec 4d48f90ceb chore: update cpanfile.snapshot 2025-12-28 08:47:37 +01:00
Kharec 8c4aaad6a5 build: add Test::MockObject as test requirement 2025-12-28 08:47:29 +01:00
Kharec 0c75d2b5b5 feat: add a dummy / route while frontend is in progress 2025-12-26 08:26:30 +01:00
Kharec a1ae380ffa feat: use /health to build a healthcheck in compose 2025-12-26 08:12:07 +01:00
Kharec 3e7a6f7b20 test: update with latest route architecture 2025-12-24 18:51:05 +01:00
Kharec add71c68e4 fix: return the normalized URL from the validator in the response 2025-12-24 18:48:20 +01:00
Kharec 795d3d8e9f test: update test with new route architecture 2025-12-24 18:46:09 +01:00
Kharec 7c967b179e feat: new route architecture 2025-12-24 18:45:54 +01:00
Kharec a67a6214d1 feat: add a ping method 2025-12-24 18:45:41 +01:00
Kharec f0731b40f8 fix: preserve unicode letters/digits while still stripping unsafe characters 2025-12-24 18:45:30 +01:00
Kharec 990a471af4 revert: error, we need it 2025-12-24 18:14:00 +01:00
Kharec fd51393917 clean: get rid of FindBin 2025-12-23 08:31:20 +01:00
Kharec cf9597a25d feat: ignore local at docker build 2025-12-23 04:14:58 +01:00
Kharec f1197626be fix: double copy + local useless copy 2025-12-23 04:14:50 +01:00
Kharec 76cbd130a0 refactor: export functions 2025-12-22 20:23:42 +01:00
Kharec 6a5dcd91b7 refactor: explicit function imports 2025-12-22 20:20:41 +01:00
Kharec e495bc6f4f refactor: explicit function import 2025-12-22 20:20:27 +01:00
Kharec 5241c1b758 clean: remove unused import 2025-12-22 20:20:01 +01:00
Kharec f259113a88 feat: Dockerfile 2025-12-22 20:13:23 +01:00
Kharec b368b4103a fix: hypnotoad runs by default on 8080 2025-12-22 20:13:05 +01:00
Kharec d992f68a6a build: re-add Mojolicious 2025-12-22 18:54:17 +01:00
Kharec 8c4f376563 feat: create docker-compose.yml for the app 2025-12-22 17:57:12 +01:00
Kharec a6e3866427 test: add use_ok() 2025-12-22 17:43:48 +01:00
Kharec 9ce3a97ca9 test: add utils unit tests 2025-12-22 17:40:21 +01:00
Kharec 0228cd9c9d feat: harden sanitize_url host parsing 2025-12-22 17:37:37 +01:00
Kharec 3369b018e3 test: API unit testing 2025-12-22 17:24:02 +01:00
Kharec db9fab083d test: add integration tests 2025-12-22 17:04:44 +01:00
Kharec 747dbc3782 build: update cpanfile 2025-12-22 16:35:19 +01:00
Kharec 47302c4bf2 docs: update readme 2025-12-22 16:35:11 +01:00
Kharec 87f1f67c50 refactor: use Utils get_error_status 2025-12-22 15:42:53 +01:00
Kharec 52ec5a010a clean: remove redundant helper 2025-12-22 15:42:36 +01:00
Kharec ab68257e74 feat: add URL shortening API endpoints to app 2025-12-22 15:39:46 +01:00
Kharec 50a12816b1 feat: implement API 2025-12-22 15:39:28 +01:00
Kharec 65570d3b6d fix: remove redundant short code validation from get_original_url 2025-12-22 15:35:18 +01:00
Kharec 86258332c8 feat: sanitize error message 2025-12-22 15:34:25 +01:00
Kharec 0743db5a12 feat: comprehensive URL validation module with security checks 2025-12-22 15:04:57 +01:00
Kharec 2b993e11a4 feat: create setnx() 2025-12-22 15:03:43 +01:00
Kharec 57fd42604e feat: add app utils 2025-12-22 15:03:31 +01:00
Kharec 1b79d48dc6 feat: url generation and handling logic 2025-12-22 15:03:20 +01:00
Kharec 9cf87f6e57 feat: add check ssl and check url reachability 2025-12-22 14:13:06 +01:00
Kharec 3eb09c5cda feat: add basic validators 2025-12-22 14:01:18 +01:00
Kharec bc4e5c353c feat: add incr() and exists() methods 2025-12-22 13:52:16 +01:00
Kharec 45f8072679 feat: render the dummy test in json 2025-12-18 09:31:57 +01:00
Kharec 984438729e docs: update readme 2025-12-18 07:28:59 +01:00
Kharec 1e8bfc2ac0 build: update cpan.snapshot 2025-12-18 07:28:46 +01:00
Kharec 1148a65355 build: add Mojo::Redis2 as a requirement 2025-12-18 07:28:41 +01:00
Kharec acb1f63bae feat: add a dummy set/get in the main route to try redis 2025-12-18 07:28:24 +01:00
Kharec 6565be735d feat: add basic db logic 2025-12-18 07:27:55 +01:00