summaryrefslogtreecommitdiff
path: root/plugins/static/config.go
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2020-12-21 19:42:23 +0300
committerValery Piashchynski <[email protected]>2020-12-21 19:42:23 +0300
commitee8b4075c0f836d698d1ae505c87c17147de447a (patch)
tree531d980e5bfb94ee39b03952a97e0445f7955409 /plugins/static/config.go
parent0ad45031047bb479e06ce0a0f496c6db9b2641c9 (diff)
Move plugins to the roadrunner-plugins repository
Diffstat (limited to 'plugins/static/config.go')
-rw-r--r--plugins/static/config.go76
1 files changed, 0 insertions, 76 deletions
diff --git a/plugins/static/config.go b/plugins/static/config.go
deleted file mode 100644
index f5d26b2d..00000000
--- a/plugins/static/config.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package static
-
-import (
- "os"
- "path"
- "strings"
-
- "github.com/spiral/errors"
-)
-
-// Config describes file location and controls access to them.
-type Config struct {
- Static struct {
- // Dir contains name of directory to control access to.
- Dir string
-
- // Forbid specifies list of file extensions which are forbidden for access.
- // Example: .php, .exe, .bat, .htaccess and etc.
- Forbid []string
-
- // Always specifies list of extensions which must always be served by static
- // service, even if file not found.
- Always []string
-
- // Request headers to add to every static.
- Request map[string]string
-
- // Response headers to add to every static.
- Response map[string]string
- }
-}
-
-// Valid returns nil if config is valid.
-func (c *Config) Valid() error {
- const op = errors.Op("static plugin validation")
- st, err := os.Stat(c.Static.Dir)
- if err != nil {
- if os.IsNotExist(err) {
- return errors.E(op, errors.Errorf("root directory '%s' does not exists", c.Static.Dir))
- }
-
- return err
- }
-
- if !st.IsDir() {
- return errors.E(op, errors.Errorf("invalid root directory '%s'", c.Static.Dir))
- }
-
- return nil
-}
-
-// AlwaysForbid must return true if file extension is not allowed for the upload.
-func (c *Config) AlwaysForbid(filename string) bool {
- ext := strings.ToLower(path.Ext(filename))
-
- for _, v := range c.Static.Forbid {
- if ext == v {
- return true
- }
- }
-
- return false
-}
-
-// AlwaysServe must indicate that file is expected to be served by static service.
-func (c *Config) AlwaysServe(filename string) bool {
- ext := strings.ToLower(path.Ext(filename))
-
- for _, v := range c.Static.Always {
- if ext == v {
- return true
- }
- }
-
- return false
-}