aboutsummaryrefslogtreecommitdiffstats
path: root/routers/repo/view.go
diff options
context:
space:
mode:
authorKim Carlbäcker <kim.carlbacker@gmail.com>2016-07-12 00:21:26 +0200
committer无闻 <u@gogs.io>2016-07-12 06:21:26 +0800
commitf4ab50501ebc3d216dd216c72f5f8ff53fa6efc1 (patch)
tree787acd1bf0d3a69c348c509a299e27995b094190 /routers/repo/view.go
parentde10387f41c02aef2d97ca5f247a422f18e6fb38 (diff)
downloadgitea-f4ab50501ebc3d216dd216c72f5f8ff53fa6efc1.tar.gz
gitea-f4ab50501ebc3d216dd216c72f5f8ff53fa6efc1.zip
[Fix] Don't display way too large files #1513 (#3253)
* Add MaxDisplayFileSize setting * Don't show files that are too large * Localized FileTooLarge * Change IsFileTooBig => IsFileTooLarge
Diffstat (limited to 'routers/repo/view.go')
-rw-r--r--routers/repo/view.go30
1 files changed, 18 insertions, 12 deletions
diff --git a/routers/repo/view.go b/routers/repo/view.go
index 65ca677867..e787879d86 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -19,6 +19,7 @@ import (
"github.com/gogits/gogs/modules/context"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/markdown"
+ "github.com/gogits/gogs/modules/setting"
"github.com/gogits/gogs/modules/template"
"github.com/gogits/gogs/modules/template/highlight"
)
@@ -104,20 +105,25 @@ func Home(ctx *context.Context) {
case isImageFile:
ctx.Data["IsImageFile"] = true
case isTextFile:
- d, _ := ioutil.ReadAll(dataRc)
- buf = append(buf, d...)
- readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
- ctx.Data["ReadmeExist"] = readmeExist
- if readmeExist {
- ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
+ if blob.Size() >= setting.MaxDisplayFileSize {
+ ctx.Data["IsFileTooLarge"] = true
} else {
- if err, content := template.ToUtf8WithErr(buf); err != nil {
- if err != nil {
- log.Error(4, "Convert content encoding: %s", err)
- }
- ctx.Data["FileContent"] = string(buf)
+ ctx.Data["IsFileTooLarge"] = false
+ d, _ := ioutil.ReadAll(dataRc)
+ buf = append(buf, d...)
+ readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
+ ctx.Data["ReadmeExist"] = readmeExist
+ if readmeExist {
+ ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
} else {
- ctx.Data["FileContent"] = content
+ if err, content := template.ToUtf8WithErr(buf); err != nil {
+ if err != nil {
+ log.Error(4, "Convert content encoding: %s", err)
+ }
+ ctx.Data["FileContent"] = string(buf)
+ } else {
+ ctx.Data["FileContent"] = content
+ }
}
}
}