From 46a1bb868b8f5b2dab22053f86c38df5dc57f7fb Mon Sep 17 00:00:00 2001 From: lbenedar Date: Thu, 19 Mar 2026 18:30:21 +0300 Subject: [PATCH] ch14.4 --- cmd/api/helpers.go | 11 +++++++++++ cmd/api/users.go | 11 ++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/cmd/api/helpers.go b/cmd/api/helpers.go index a39dcb2..a700956 100644 --- a/cmd/api/helpers.go +++ b/cmd/api/helpers.go @@ -120,3 +120,14 @@ func (app *application) readInt(qs url.Values, key string, defaultValue int, v * } return i } + +func (app *application) background(fn func()) { + go func() { + defer func() { + if err := recover(); err != nil { + app.logger.PrintError(fmt.Errorf("%s", err), nil) + } + }() + fn() + }() +} diff --git a/cmd/api/users.go b/cmd/api/users.go index ef8df08..b77ae2e 100644 --- a/cmd/api/users.go +++ b/cmd/api/users.go @@ -52,11 +52,12 @@ func (app *application) registerUserHandler(w http.ResponseWriter, r *http.Reque return } - // err = app.mailer.Send(user.Email, "user_welcome.tmpl", user) - // if err != nil { - // app.serverErrorResponse(w, r, err) - // return - // } + app.background(func() { + err = app.mailer.Send(user.Email, "user_welcome.tmpl", user) + if err != nil { + app.logger.PrintError(err, nil) + } + }) err = app.writeJSON(w, http.StatusCreated, envelope{"user": user}, nil) if err != nil {