Add mimetype mapping settings (#15133)

* Fix APK's Content-Type header

* Fix case sensitive comparison

* Add custom mime type mapping for downloadable files

* Add documentation for MIME type mapping

* Rename download.mimetype.mapping configuration to repository.mimetype_mapping

Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
Adam Szatyin 2021-05-10 22:38:08 +02:00 committed by GitHub
parent 2f65c6b2f0
commit d86d123322
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 1 deletions

View file

@ -0,0 +1,31 @@
// Copyright 2021 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package setting
import "strings"
var (
// MimeTypeMap defines custom mime type mapping settings
MimeTypeMap = struct {
Enabled bool
Map map[string]string
}{
Enabled: false,
Map: map[string]string{},
}
)
func newMimeTypeMap() {
sec := Cfg.Section("repository.mimetype_mapping")
keys := sec.Keys()
m := make(map[string]string, len(keys))
for _, key := range keys {
m[strings.ToLower(key.Name())] = key.Value()
}
MimeTypeMap.Map = m
if len(keys) > 0 {
MimeTypeMap.Enabled = true
}
}

View file

@ -1177,4 +1177,5 @@ func NewServices() {
newTaskService()
NewQueueService()
newProject()
newMimeTypeMap()
}