aboutsummaryrefslogtreecommitdiffstats
path: root/routers/web/web.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/web/web.go')
-rw-r--r--routers/web/web.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/routers/web/web.go b/routers/web/web.go
index 545194aabd..60a379aef8 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -5,6 +5,7 @@
package web
import (
+ gocontext "context"
"net/http"
"os"
"path"
@@ -956,7 +957,25 @@ func RegisterRoutes(m *web.Route) {
m.Group("/blob_excerpt", func() {
m.Get("/{sha}", repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.ExcerptBlob)
- }, repo.MustBeNotEmpty, context.RepoRef(), reqRepoCodeReader)
+ }, func(ctx *context.Context) (cancel gocontext.CancelFunc) {
+ if ctx.FormBool("wiki") {
+ ctx.Data["PageIsWiki"] = true
+ repo.MustEnableWiki(ctx)
+ return
+ }
+
+ reqRepoCodeReader(ctx)
+ if ctx.Written() {
+ return
+ }
+ cancel = context.RepoRef()(ctx)
+ if ctx.Written() {
+ return
+ }
+
+ repo.MustBeNotEmpty(ctx)
+ return
+ })
m.Group("/pulls/{index}", func() {
m.Get(".diff", repo.DownloadPullDiff)