Fixing merge conflicts
7 files · +156 -1
M .gitignore +1 -1
| @@ -2,4 +2,4 @@ | |||
| 2 | 2 | node_modules/ | |
| 3 | 3 | tmp/* | |
| 4 | 4 | logs/* | |
| 5 | - | gordon.yml⏎̸ | |
| 5 | + | gordon.yml | |
| @@ -2,4 +2,4 @@ | |||||
| 2 | node_modules/ | 2 | node_modules/ | ||
| 3 | tmp/* | 3 | tmp/* | ||
| 4 | logs/* | 4 | logs/* | ||
| 5 | - | gordon.yml⏎̸ | 5 | + | gordon.yml |
M go.mod +3 -0
| @@ -26,6 +26,9 @@ require ( | |||
| 26 | 26 | github.com/gorilla/sessions v1.2.1 // indirect | |
| 27 | 27 | github.com/klauspost/compress v1.16.7 // indirect | |
| 28 | 28 | github.com/microcosm-cc/bluemonday v1.0.25 // indirect | |
| 29 | + | github.com/gorilla/securecookie v1.1.1 // indirect | |
| 30 | + | github.com/gorilla/sessions v1.2.1 // indirect | |
| 31 | + | github.com/klauspost/compress v1.16.7 // indirect | |
| 29 | 32 | github.com/moby/patternmatcher v0.6.0 // indirect | |
| 30 | 33 | github.com/moby/sys/sequential v0.5.0 // indirect | |
| 31 | 34 | github.com/moby/term v0.5.0 // indirect | |
| @@ -26,6 +26,9 @@ require ( | |||||
| 26 | github.com/gorilla/sessions v1.2.1 // indirect | 26 | github.com/gorilla/sessions v1.2.1 // indirect | ||
| 27 | github.com/klauspost/compress v1.16.7 // indirect | 27 | github.com/klauspost/compress v1.16.7 // indirect | ||
| 28 | github.com/microcosm-cc/bluemonday v1.0.25 // indirect | 28 | github.com/microcosm-cc/bluemonday v1.0.25 // indirect | ||
| 29 | + | github.com/gorilla/securecookie v1.1.1 // indirect | |||
| 30 | + | github.com/gorilla/sessions v1.2.1 // indirect | |||
| 31 | + | github.com/klauspost/compress v1.16.7 // indirect | |||
| 29 | github.com/moby/patternmatcher v0.6.0 // indirect | 32 | github.com/moby/patternmatcher v0.6.0 // indirect | ||
| 30 | github.com/moby/sys/sequential v0.5.0 // indirect | 33 | github.com/moby/sys/sequential v0.5.0 // indirect | ||
| 31 | github.com/moby/term v0.5.0 // indirect | 34 | github.com/moby/term v0.5.0 // indirect | ||
M go.sum +2 -0 generated file: collapsed
M logs/app.log +49 -0
| @@ -647,3 +647,52 @@ | |||
| 647 | 647 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | |
| 648 | 648 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | |
| 649 | 649 | {"level":"fatal","error":"listen tcp :1323: bind: address already in use","time":"2023-09-05T10:22:47+02:00","message":"Failed to start the server"} | |
| 650 | + | {"level":"info","time":"2023-09-05T10:41:25+02:00","message":"Server is listening on port 1323"} | |
| 651 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:26+02:00","message":"Color scheme detected: light"} | |
| 652 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:27+02:00","message":"Color scheme detected: light"} | |
| 653 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:29+02:00","message":"Color scheme detected: light"} | |
| 654 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:31+02:00","message":"Color scheme detected: light"} | |
| 655 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 656 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 657 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 658 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 659 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 660 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 661 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 662 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 663 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 664 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 665 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 666 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 667 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 668 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 669 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 670 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |
| 671 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 672 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 673 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 674 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 675 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 676 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 677 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 678 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 679 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 680 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 681 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 682 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 683 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 684 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |
| 685 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:34+02:00","message":"Color scheme detected: light"} | |
| 686 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |
| 687 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |
| 688 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |
| 689 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |
| 690 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:36+02:00","message":"Color scheme detected: light"} | |
| 691 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:37+02:00","message":"Color scheme detected: light"} | |
| 692 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:37+02:00","message":"Color scheme detected: light"} | |
| 693 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:39+02:00","message":"Color scheme detected: light"} | |
| 694 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:40+02:00","message":"Color scheme detected: light"} | |
| 695 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:43+02:00","message":"Color scheme detected: light"} | |
| 696 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:45+02:00","message":"Color scheme detected: light"} | |
| 697 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:46+02:00","message":"Color scheme detected: light"} | |
| 698 | + | {"level":"info","time":"2023-09-05T10:41:47+02:00","message":"Server is listening on port 1323"} | |
| @@ -647,3 +647,52 @@ | |||||
| 647 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | 647 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | ||
| 648 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | 648 | {"level":"info","time":"2023-09-05T10:22:47+02:00","message":"Server is listening on port 1323"} | ||
| 649 | {"level":"fatal","error":"listen tcp :1323: bind: address already in use","time":"2023-09-05T10:22:47+02:00","message":"Failed to start the server"} | 649 | {"level":"fatal","error":"listen tcp :1323: bind: address already in use","time":"2023-09-05T10:22:47+02:00","message":"Failed to start the server"} | ||
| 650 | + | {"level":"info","time":"2023-09-05T10:41:25+02:00","message":"Server is listening on port 1323"} | |||
| 651 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:26+02:00","message":"Color scheme detected: light"} | |||
| 652 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:27+02:00","message":"Color scheme detected: light"} | |||
| 653 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:29+02:00","message":"Color scheme detected: light"} | |||
| 654 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:31+02:00","message":"Color scheme detected: light"} | |||
| 655 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 656 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 657 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 658 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 659 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 660 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 661 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 662 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 663 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 664 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 665 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 666 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 667 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 668 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 669 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 670 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:32+02:00","message":"Color scheme detected: light"} | |||
| 671 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 672 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 673 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 674 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 675 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 676 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 677 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 678 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 679 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 680 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 681 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 682 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 683 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 684 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:33+02:00","message":"Color scheme detected: light"} | |||
| 685 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:34+02:00","message":"Color scheme detected: light"} | |||
| 686 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |||
| 687 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |||
| 688 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |||
| 689 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:35+02:00","message":"Color scheme detected: light"} | |||
| 690 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:36+02:00","message":"Color scheme detected: light"} | |||
| 691 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:37+02:00","message":"Color scheme detected: light"} | |||
| 692 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:37+02:00","message":"Color scheme detected: light"} | |||
| 693 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:39+02:00","message":"Color scheme detected: light"} | |||
| 694 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:40+02:00","message":"Color scheme detected: light"} | |||
| 695 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:43+02:00","message":"Color scheme detected: light"} | |||
| 696 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:45+02:00","message":"Color scheme detected: light"} | |||
| 697 | + | {"level":"debug","type":"app","time":"2023-09-05T10:41:46+02:00","message":"Color scheme detected: light"} | |||
| 698 | + | {"level":"info","time":"2023-09-05T10:41:47+02:00","message":"Server is listening on port 1323"} | |||
M logs/http.log +48 -0
| @@ -1708,3 +1708,51 @@ | |||
| 1708 | 1708 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:47+02:00","message":"request"} | |
| 1709 | 1709 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:48+02:00","message":"request"} | |
| 1710 | 1710 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:50+02:00","message":"request"} | |
| 1711 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:26+02:00","message":"request"} | |
| 1712 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:27+02:00","message":"request"} | |
| 1713 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:29+02:00","message":"request"} | |
| 1714 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:31+02:00","message":"request"} | |
| 1715 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/admin/install","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1716 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/js/custom.js","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1717 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/css/tailwind.css","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1718 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx.min.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1719 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx-sse.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1720 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/alpine.min.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1721 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/iconoir.css","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1722 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/imgs/gordon-mascot-hq-trsp.png","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1723 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/LilitaOne/LilitaOne-Regular.ttf","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1724 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1725 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1726 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/favicon.ico","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1727 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1728 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1729 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1730 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |
| 1731 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1732 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1733 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/admin/install","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1734 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/css/tailwind.css","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1735 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/alpine.min.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1736 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/iconoir.css","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1737 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx.min.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1738 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/js/custom.js","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1739 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx-sse.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1740 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/imgs/gordon-mascot-hq-trsp.png","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1741 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1742 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/LilitaOne/LilitaOne-Regular.ttf","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1743 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1744 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/favicon.ico","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |
| 1745 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:34+02:00","message":"request"} | |
| 1746 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |
| 1747 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |
| 1748 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |
| 1749 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |
| 1750 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:36+02:00","message":"request"} | |
| 1751 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:37+02:00","message":"request"} | |
| 1752 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:37+02:00","message":"request"} | |
| 1753 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:39+02:00","message":"request"} | |
| 1754 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:40+02:00","message":"request"} | |
| 1755 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:43+02:00","message":"request"} | |
| 1756 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:45+02:00","message":"request"} | |
| 1757 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:46+02:00","message":"request"} | |
| 1758 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:48+02:00","message":"request"} | |
| @@ -1708,3 +1708,51 @@ | |||||
| 1708 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:47+02:00","message":"request"} | 1708 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:47+02:00","message":"request"} | ||
| 1709 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:48+02:00","message":"request"} | 1709 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:48+02:00","message":"request"} | ||
| 1710 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:50+02:00","message":"request"} | 1710 | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:23:50+02:00","message":"request"} | ||
| 1711 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:26+02:00","message":"request"} | |||
| 1712 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:27+02:00","message":"request"} | |||
| 1713 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:29+02:00","message":"request"} | |||
| 1714 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:31+02:00","message":"request"} | |||
| 1715 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/admin/install","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1716 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/js/custom.js","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1717 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/css/tailwind.css","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1718 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx.min.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1719 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx-sse.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1720 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/alpine.min.js","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1721 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/iconoir.css","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1722 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/imgs/gordon-mascot-hq-trsp.png","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1723 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/LilitaOne/LilitaOne-Regular.ttf","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1724 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1725 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1726 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/favicon.ico","status":200,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1727 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1728 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1729 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1730 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:32+02:00","message":"request"} | |||
| 1731 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1732 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1733 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/admin/install","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1734 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/css/tailwind.css","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1735 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/alpine.min.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1736 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/iconoir.css","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1737 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx.min.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1738 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/js/custom.js","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1739 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/libs/htmx-sse.js","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1740 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/imgs/gordon-mascot-hq-trsp.png","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1741 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1742 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/LilitaOne/LilitaOne-Regular.ttf","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1743 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1744 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/favicon.ico","status":200,"time":"2023-09-05T10:41:33+02:00","message":"request"} | |||
| 1745 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:34+02:00","message":"request"} | |||
| 1746 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |||
| 1747 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |||
| 1748 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |||
| 1749 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:35+02:00","message":"request"} | |||
| 1750 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:36+02:00","message":"request"} | |||
| 1751 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:37+02:00","message":"request"} | |||
| 1752 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:37+02:00","message":"request"} | |||
| 1753 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:39+02:00","message":"request"} | |||
| 1754 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:40+02:00","message":"request"} | |||
| 1755 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:43+02:00","message":"request"} | |||
| 1756 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:45+02:00","message":"request"} | |||
| 1757 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:46+02:00","message":"request"} | |||
| 1758 | + | {"level":"info","type":"http","remote_ip":"::1","method":"GET","URI":"/install/traefik/sse","status":404,"time":"2023-09-05T10:41:48+02:00","message":"request"} | |||
M pkg/utils/logger.go +1 -0
| @@ -20,6 +20,7 @@ const ( | |||
| 20 | 20 | ) | |
| 21 | 21 | ||
| 22 | 22 | type LogLevel string | |
| 23 | + | ||
| 23 | 24 | type Logger struct { | |
| 24 | 25 | zerolog.Logger | |
| 25 | 26 | } | |
| @@ -20,6 +20,7 @@ const ( | |||||
| 20 | ) | 20 | ) | ||
| 21 | 21 | ||||
| 22 | type LogLevel string | 22 | type LogLevel string | ||
| 23 | + | ||||
| 23 | type Logger struct { | 24 | type Logger struct { | ||
| 24 | zerolog.Logger | 25 | zerolog.Logger | ||
| 25 | } | 26 | } | ||
A pkg/utils/txt-render.go +52 -0
| @@ -0,0 +1,52 @@ | |||
| 1 | + | package utils | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "bytes" | |
| 5 | + | "errors" | |
| 6 | + | "io/fs" | |
| 7 | + | "text/template" | |
| 8 | + | ) | |
| 9 | + | ||
| 10 | + | type TXTRenderer struct { | |
| 11 | + | Models *template.Template | |
| 12 | + | Format string | |
| 13 | + | ParseError error | |
| 14 | + | Logger *Logger | |
| 15 | + | } | |
| 16 | + | ||
| 17 | + | // Render function renders the template with the given data | |
| 18 | + | func (r *TXTRenderer) TXTRender(data interface{}) (string, error) { | |
| 19 | + | if r.ParseError != nil { | |
| 20 | + | r.Logger.Error().Err(r.ParseError).Msg("Parse error") | |
| 21 | + | return "", r.ParseError | |
| 22 | + | } | |
| 23 | + | ||
| 24 | + | if r.Models == nil { | |
| 25 | + | err := errors.New("invalid or nil template") | |
| 26 | + | r.Logger.Error().Err(r.ParseError).Msg("Parse error") | |
| 27 | + | ||
| 28 | + | return "", err | |
| 29 | + | } | |
| 30 | + | ||
| 31 | + | buf := new(bytes.Buffer) | |
| 32 | + | err := r.Models.Execute(buf, data) | |
| 33 | + | if err != nil { | |
| 34 | + | r.Logger.Error().Err(err).Msg("Render error") | |
| 35 | + | return "", err | |
| 36 | + | } | |
| 37 | + | ||
| 38 | + | return buf.String(), nil | |
| 39 | + | } | |
| 40 | + | ||
| 41 | + | // GetRenderer function returns a new Renderer instance | |
| 42 | + | func GetTXTRenderer(filename string, fs fs.FS, logger *Logger) (*TXTRenderer, error) { | |
| 43 | + | mdls, err := template.New(filename).ParseFS(fs, filename) | |
| 44 | + | if err != nil { | |
| 45 | + | logger.Error().Err(err).Msg("Failed to parse template") | |
| 46 | + | return nil, err | |
| 47 | + | } | |
| 48 | + | return &TXTRenderer{ | |
| 49 | + | Models: mdls, | |
| 50 | + | Logger: logger, | |
| 51 | + | }, nil | |
| 52 | + | } | |
| @@ -0,0 +1,52 @@ | |||||
| 1 | + | package utils | |||
| 2 | + | ||||
| 3 | + | import ( | |||
| 4 | + | "bytes" | |||
| 5 | + | "errors" | |||
| 6 | + | "io/fs" | |||
| 7 | + | "text/template" | |||
| 8 | + | ) | |||
| 9 | + | ||||
| 10 | + | type TXTRenderer struct { | |||
| 11 | + | Models *template.Template | |||
| 12 | + | Format string | |||
| 13 | + | ParseError error | |||
| 14 | + | Logger *Logger | |||
| 15 | + | } | |||
| 16 | + | ||||
| 17 | + | // Render function renders the template with the given data | |||
| 18 | + | func (r *TXTRenderer) TXTRender(data interface{}) (string, error) { | |||
| 19 | + | if r.ParseError != nil { | |||
| 20 | + | r.Logger.Error().Err(r.ParseError).Msg("Parse error") | |||
| 21 | + | return "", r.ParseError | |||
| 22 | + | } | |||
| 23 | + | ||||
| 24 | + | if r.Models == nil { | |||
| 25 | + | err := errors.New("invalid or nil template") | |||
| 26 | + | r.Logger.Error().Err(r.ParseError).Msg("Parse error") | |||
| 27 | + | ||||
| 28 | + | return "", err | |||
| 29 | + | } | |||
| 30 | + | ||||
| 31 | + | buf := new(bytes.Buffer) | |||
| 32 | + | err := r.Models.Execute(buf, data) | |||
| 33 | + | if err != nil { | |||
| 34 | + | r.Logger.Error().Err(err).Msg("Render error") | |||
| 35 | + | return "", err | |||
| 36 | + | } | |||
| 37 | + | ||||
| 38 | + | return buf.String(), nil | |||
| 39 | + | } | |||
| 40 | + | ||||
| 41 | + | // GetRenderer function returns a new Renderer instance | |||
| 42 | + | func GetTXTRenderer(filename string, fs fs.FS, logger *Logger) (*TXTRenderer, error) { | |||
| 43 | + | mdls, err := template.New(filename).ParseFS(fs, filename) | |||
| 44 | + | if err != nil { | |||
| 45 | + | logger.Error().Err(err).Msg("Failed to parse template") | |||
| 46 | + | return nil, err | |||
| 47 | + | } | |||
| 48 | + | return &TXTRenderer{ | |||
| 49 | + | Models: mdls, | |||
| 50 | + | Logger: logger, | |||
| 51 | + | }, nil | |||
| 52 | + | } | |||