15 lines
824 B
Go
15 lines
824 B
Go
package controllers
|
||
|
||
import "net/http"
|
||
|
||
// Обработчик статических файлов с кэшированием
|
||
func StaticHandler() http.HandlerFunc {
|
||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
// Здесь используется встроенный файловый сервер Go (http.FileServer), который:
|
||
// Реализует интерфейс http.Handler (и поэтому имеет метод ServeHTTP)
|
||
// Автоматически обслуживает статические файлы из файловой системы
|
||
// Сам обрабатывает HTTP-запросы, определяет MIME-типы, отправляет правильные заголовки и т.д.
|
||
http.FileServer(http.Dir(".")).ServeHTTP(w, r)
|
||
})
|
||
}
|