Привет, любители Go! Сегодня мы рассмотрим, как создать middleware на уровне сетевого стэка в Go. Middleware позволяет добавлять полезные функции к HTTP-запросам и ответам: логирование, аутентификация, обработка ошибок и многое другое.
Простой пример Middleware
Начнем с классики – middleware для логирования запросов:
package main
import (
"log"
"net/http"
"time"
)
// loggingMiddleware логирует начало и конец обработки запроса.
func loggingMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
start := time.Now()
log.Printf("
Поделиться ссылкой:
Интересные статьи
Интересные статьи
Всем привет! Меня зовут Илья, я разработчик в Битрикс24. В последнее время наша команда стремится быть прозрачнее и делиться изменениями в продукте. Мы хотим, чтобы разработчики, использующие Битрикс2...
HP добавила в Windows 11 уведомления о включении и выключении Caps Lock и Num Lock, которые появляются на экране. Опция связана с установкой утилиты HP System Event Utility.
Обучать ли модель ML повторно? Многие отвечают на этот вопрос интуитивно или действуют по взятой из ниоткуда схеме: по ночам, раз в месяц, «когда пользователи начинают жаловаться». Команда VK Clou...
Привет, мы команда СберМегаМаркета, и это обзорная статья о нашей площадке, пробный камень для блога Хабре. За нашими плечами спешный переезд с PHP на GO, ребрендинг и решение таких задач, с которыми ...
Вам приходилось сталкиваться с ситуацией, когда сайт или портал Битрикс24 недоступен, потому что на диске неожиданно закончилось место? Да, последний бэкап съел все место на диске в самый неподходящий...
