|
|
|
|
|
by whstl
22 days ago
|
|
A project I work at uses a similar pattern (similar from what I can see): func Login(req LoginRequest, cookies Cookies, db *sql.DB) (LoginResponse, error) {
...
}
router.HandleFunc("POST /signup", fw.Wrap(Login))
It's just a wrapper.It also serializes/deserializes responses and handles both JSON and templates. db is just a singleton-lifetime dependency, we often also have ctx, http.Request, http.Response, Cookie, which are request-time lifetimes. I thought about open-sourcing it but most Golang developers seem to hate it with a passion, so I just gave up, haha. |
|