package http import ( "net/http" "dev.mediocregopher.com/mediocre-blog.git/src/http/apiutil" ) func (a *api) manageDraftPostsHandler() http.Handler { tpl := a.mustParseBasedTpl("draft-posts-manage.html") return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { a.executeTemplate(rw, r, tpl, nil) }) } func (a *api) postDraftPostHandler() http.Handler { return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { var ( ctx = r.Context() logger = a.params.Logger ) p, err := postFromPostReq(r) if err != nil { apiutil.BadRequest(ctx, logger, rw, "%w", err) return } if err := a.params.PostDraftStore.Set(p); err != nil { apiutil.InternalServerError( ctx, logger, rw, "storing post with id %q: %w", p.ID, err, ) return } a.executeRedirectTpl( rw, r, a.urlBuilder.Draft(p.ID).MethodEdit().String(), ) }) }