Каждый запрос к моему приложению должен использовать какое-то промежуточное ПО. Используя документы Negroni, я реализовал это так:
func MyMiddleware(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
// do some stuff before
next(rw, r)
}
и в другом месте я использую:
n.Use(negroni.HandlerFunc(MyMiddleware))
Однако промежуточное программное обеспечение должно получить дополнительный аргумент, и я не уверен, как его встроить. На данный момент я просто устанавливаю значение как глобальную переменную, чтобы сделать его доступным, но я уверен, что есть более элегантный способ ?
Я хотел бы иметь возможность сделать что-то вроде этого:
n.Use(negroni.HandlerFunc(MyMiddleware(val)))