diff options
author | 无闻 <joe2010xtmf@163.com> | 2014-07-24 12:47:55 -0400 |
---|---|---|
committer | 无闻 <joe2010xtmf@163.com> | 2014-07-24 12:47:55 -0400 |
commit | da0240aacd5646bd73b2e22d92d88578dbafd64b (patch) | |
tree | 3c101530bc7f1b9f4677cab0be4e8a3e4175c50b /modules/middleware/context.go | |
parent | 3db84c889365a559a6ea81ad4e7dd4a5f089d249 (diff) | |
parent | 9a7349ce64afdbc528126862283b1068d4c8699a (diff) | |
download | gitea-da0240aacd5646bd73b2e22d92d88578dbafd64b.tar.gz gitea-da0240aacd5646bd73b2e22d92d88578dbafd64b.zip |
Merge pull request #307 from nuss-justin/feature/attachments
Feature: Ability to attach files to issues (attachments)
Diffstat (limited to 'modules/middleware/context.go')
-rw-r--r-- | modules/middleware/context.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/middleware/context.go b/modules/middleware/context.go index c641449a87..6b47e94fb0 100644 --- a/modules/middleware/context.go +++ b/modules/middleware/context.go @@ -323,7 +323,6 @@ func (f *Flash) Success(msg string) { // InitContext initializes a classic context for a request. func InitContext() martini.Handler { return func(res http.ResponseWriter, r *http.Request, c martini.Context, rd *Render) { - ctx := &Context{ c: c, // p: p, @@ -332,7 +331,6 @@ func InitContext() martini.Handler { Cache: setting.Cache, Render: rd, } - ctx.Data["PageStartTime"] = time.Now() // start session @@ -374,6 +372,14 @@ func InitContext() martini.Handler { ctx.Data["IsAdmin"] = ctx.User.IsAdmin } + // If request sends files, parse them here otherwise the Query() can't be parsed and the CsrfToken will be invalid. + if strings.Contains(r.Header.Get("Content-Type"), "multipart/form-data") { + if err = ctx.Req.ParseMultipartForm(setting.AttachmentMaxSize << 20); err != nil { // 32MB max size + ctx.Handle(500, "issue.Comment(ctx.Req.ParseMultipartForm)", err) + return + } + } + // get or create csrf token ctx.Data["CsrfToken"] = ctx.CsrfToken() ctx.Data["CsrfTokenHtml"] = template.HTML(`<input type="hidden" name="_csrf" value="` + ctx.csrfToken + `">`) |