Added maximum request body size limiting.

Fixes #19.
This commit is contained in:
Stanislav Nikitin 2020-02-29 22:49:44 +05:00
parent 47672c586d
commit 5f58741159
No known key found for this signature in database
GPG Key ID: 106900B32F8192EE
3 changed files with 8 additions and 4 deletions

View File

@ -4,7 +4,7 @@ database:
# Database type. The only supported ATM is "mysql" and "flatfiles".
type: "flatfiles"
# Path for data stored with "flatfiles" database adapter.
# Will be comletely ignored for MySQL/MariaDB.
# Will be completely ignored for MySQL/MariaDB.
path: "./data"
# Next parameters are strictly for MySQL/MariaDB connections and
# will be ignored by "flatfiles" adapter.
@ -31,6 +31,8 @@ http:
# will allow HTTP requests. Useful for developing or if you're
# running Fast Pastebin behind reverse proxy that does SSL termination.
allow_insecure: true
# Maximum body size in megabytes. 1 should be enough for most use cases.
max_body_size_megabytes: 1
# Pastes configuration.
pastes:

View File

@ -29,4 +29,5 @@ type HTTP struct {
Address string `yaml:"address"`
Port string `yaml:"port"`
AllowInsecure bool `yaml:"allow_insecure"`
MaxBodySizeMegabytes string `yaml:"max_body_size_megabytes"`
}

View File

@ -13,6 +13,7 @@ func (c *Context) initializeHTTPServer() {
c.Echo = echo.New()
c.Echo.Use(c.echoReqLogger())
c.Echo.Use(middleware.Recover())
c.Echo.Use(middleware.BodyLimit(c.Config.HTTP.MaxBodySizeMegabytes + "M"))
c.Echo.DisableHTTP2 = true
c.Echo.HideBanner = true
c.Echo.HidePort = true