some changes

master
serr 2025-04-06 14:16:38 +03:00
parent 24a36b22b3
commit 61341eaa03
4 changed files with 14 additions and 11 deletions

View File

@ -50,10 +50,8 @@ func setupRoutesAndRun(a *models.App) error {
func setupRoutes(a *models.App) *http.ServeMux {
router := http.NewServeMux()
// middlewares
m := controllers.MiddlewaresChain(
controllers.LoggingMiddleware,
)
// Цепочка обработчиков, которые сработают до отдачи страницы юзеру
m := controllers.MiddlewaresChain
// Обработка статических файлов с кэшированием
router.Handle(a.Config.AssetsPath, m(controllers.StaticHandler()))

View File

@ -8,16 +8,22 @@ import (
type Middleware func(http.Handler) http.Handler
var (
MiddlewaresChain = CreateMiddlewaresChain(
LoggingMiddleware,
)
)
/*
Возвращает один middleware, который объединяет все переданные
MiddlewaresChain(m1, m2, m3)
CreateMiddlewaresChain(m1, m2, m3)
= func(next http.Handler) http.Handler { return m1(m2(m3(final))) }
MiddlewaresChain(LoggingMiddleware)
CreateMiddlewaresChain(LoggingMiddleware)
= func(next http.Handler) http.Handler { return LoggingMiddleware(final) }
*/
func MiddlewaresChain(middlewares ...Middleware) Middleware {
func CreateMiddlewaresChain(middlewares ...Middleware) Middleware {
return func(final http.Handler) http.Handler {
for i := len(middlewares) - 1; i >= 0; i-- {
final = middlewares[i](final)
@ -29,10 +35,9 @@ func MiddlewaresChain(middlewares ...Middleware) Middleware {
func LoggingMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
start := time.Now()
log.Printf("Started %s %s", r.Method, r.URL.Path)
next.ServeHTTP(w, r)
log.Printf("Completed %s in %v", r.URL.Path, time.Since(start))
log.Printf("%s %s in %v", r.Method, r.URL.Path, time.Since(start))
})
}

View File

@ -46,7 +46,7 @@
what do i do?
</h1>
<p>
programming is my everything - my job, my hobby, my lifelong obsession
programming is my everything - my job, my hobby, my lifestyle
</p>
<p>
i love growing in all areas of programming - i am literally interested in everything: cybersecurity (chaotically breaking things, analyzing code, writing automated analyzers, and moving bytes back and forth), concurrency/multithreading, web development, low-level programming, cryptography and a lot more!

View File

@ -53,7 +53,7 @@
чем я занимаюсь?
</h1>
<p>
программирование - это моё всё: работа, хобби, пожизненная одержимость
программирование - это моё всё: работа, хобби, стиль жизни
</p>
<p>
мне нравится развиваться во всех областях программирования - мне буквально интересно всё: кибербезопасность (хаотичный взлом вещей, анализ кода, написание автоматических анализаторов и перекладывание байтов туда-сюда), многопоточность, веб-разработка, низкоуровневое программирование, криптография и многое другое!