Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 14, 05:15 UTC
Module.New() does not need to return an error
Matthew Holt committed
May 21, 2019 at 14:22 UTC
2fd98cb040b617d2a018ae00a3a68b320de7dbc6
19 files changed
+29
-36
admin.go
+1
-5
@@ -42,11 +42,7 @@ func StartAdmin(addr string) error {
42
///// END PPROF STUFF //////
43
44
for _, m := range GetModules("admin") {
45
- moduleValue, err := m.New()
46
- if err != nil {
47
- return fmt.Errorf("initializing module '%s': %v", m.Name, err)
48
- }
49
- route := moduleValue.(AdminRoute)
45
+ route := m.New().(AdminRoute)
46
mux.Handle(route.Pattern, route)
47
}
48
context.go
+2
-5
@@ -75,10 +75,7 @@ func (ctx Context) LoadModule(name string, rawMsg json.RawMessage) (interface{},
75
return nil, fmt.Errorf("module '%s' has no constructor", mod.Name)
76
}
77
78
- val, err := mod.New()
79
- if err != nil {
80
- return nil, fmt.Errorf("initializing module '%s': %v", mod.Name, err)
81
- }
78
+ val := mod.New()
79
80
// value must be a pointer for unmarshaling into concrete type
81
if rv := reflect.ValueOf(val); rv.Kind() != reflect.Ptr {
@@ -87,7 +84,7 @@ func (ctx Context) LoadModule(name string, rawMsg json.RawMessage) (interface{},
84
85
// fill in its config only if there is a config to fill in
86
if len(rawMsg) > 0 {
90
- err = json.Unmarshal(rawMsg, &val)
87
+ err := json.Unmarshal(rawMsg, &val)
88
if err != nil {
89
return nil, fmt.Errorf("decoding module config: %s: %v", mod.Name, err)
90
}
modules.go
+1
-1
@@ -20,7 +20,7 @@ type Module struct {
20
// invoke methods on the returned value.
21
// It must return a pointer; if not, it
22
// is converted into one.
23
- New func() (interface{}, error)
23
+ New func() interface{}
24
}
25
26
func (m Module) String() string { return m.Name }
modules/caddyhttp/caddyhttp.go
+1
-1
@@ -22,7 +22,7 @@ func init() {
22
23
err := caddy2.RegisterModule(caddy2.Module{
24
Name: "http",
25
- New: func() (interface{}, error) { return new(App), nil },
25
+ New: func() interface{} { return new(App) },
26
})
27
28
if err != nil {
modules/caddyhttp/caddylog/log.go
+1
-1
@@ -12,7 +12,7 @@ import (
12
func init() {
13
caddy2.RegisterModule(caddy2.Module{
14
Name: "http.middleware.log",
15
- New: func() (interface{}, error) { return new(Log), nil },
15
+ New: func() interface{} { return new(Log) },
16
})
17
}
18
modules/caddyhttp/fileserver/matcher.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
func init() {
12
caddy2.RegisterModule(caddy2.Module{
13
Name: "http.matchers.file",
14
- New: func() (interface{}, error) { return new(FileMatcher), nil },
14
+ New: func() interface{} { return new(FileMatcher) },
15
})
16
}
17
modules/caddyhttp/fileserver/staticfiles.go
+1
-1
@@ -21,7 +21,7 @@ func init() {
21
22
caddy2.RegisterModule(caddy2.Module{
23
Name: "http.responders.file_server",
24
- New: func() (interface{}, error) { return new(FileServer), nil },
24
+ New: func() interface{} { return new(FileServer) },
25
})
26
}
27
modules/caddyhttp/headers/headers.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
func init() {
12
caddy2.RegisterModule(caddy2.Module{
13
Name: "http.middleware.headers",
14
- New: func() (interface{}, error) { return new(Headers), nil },
14
+ New: func() interface{} { return new(Headers) },
15
})
16
}
17
modules/caddyhttp/matchers.go
+9
-9
@@ -32,39 +32,39 @@ type (
32
func init() {
33
caddy2.RegisterModule(caddy2.Module{
34
Name: "http.matchers.host",
35
- New: func() (interface{}, error) { return matchHost{}, nil },
35
+ New: func() interface{} { return matchHost{} },
36
})
37
caddy2.RegisterModule(caddy2.Module{
38
Name: "http.matchers.path",
39
- New: func() (interface{}, error) { return matchPath{}, nil },
39
+ New: func() interface{} { return matchPath{} },
40
})
41
caddy2.RegisterModule(caddy2.Module{
42
Name: "http.matchers.path_regexp",
43
- New: func() (interface{}, error) { return new(matchPathRE), nil },
43
+ New: func() interface{} { return new(matchPathRE) },
44
})
45
caddy2.RegisterModule(caddy2.Module{
46
Name: "http.matchers.method",
47
- New: func() (interface{}, error) { return matchMethod{}, nil },
47
+ New: func() interface{} { return matchMethod{} },
48
})
49
caddy2.RegisterModule(caddy2.Module{
50
Name: "http.matchers.query",
51
- New: func() (interface{}, error) { return matchQuery{}, nil },
51
+ New: func() interface{} { return matchQuery{} },
52
})
53
caddy2.RegisterModule(caddy2.Module{
54
Name: "http.matchers.header",
55
- New: func() (interface{}, error) { return matchHeader{}, nil },
55
+ New: func() interface{} { return matchHeader{} },
56
})
57
caddy2.RegisterModule(caddy2.Module{
58
Name: "http.matchers.header_regexp",
59
- New: func() (interface{}, error) { return matchHeaderRE{}, nil },
59
+ New: func() interface{} { return matchHeaderRE{} },
60
})
61
caddy2.RegisterModule(caddy2.Module{
62
Name: "http.matchers.protocol",
63
- New: func() (interface{}, error) { return new(matchProtocol), nil },
63
+ New: func() interface{} { return new(matchProtocol) },
64
})
65
caddy2.RegisterModule(caddy2.Module{
66
Name: "http.matchers.starlark_expr",
67
- New: func() (interface{}, error) { return new(matchStarlarkExpr), nil },
67
+ New: func() interface{} { return new(matchStarlarkExpr) },
68
})
69
}
70
modules/caddyhttp/reverseproxy/module.go
+1
-1
@@ -8,6 +8,6 @@ import (
8
func init() {
9
caddy2.RegisterModule(caddy2.Module{
10
Name: "http.responders.reverse_proxy",
11
- New: func() (interface{}, error) { return new(LoadBalanced), nil },
11
+ New: func() interface{} { return new(LoadBalanced) },
12
})
13
}
modules/caddyhttp/rewrite/rewrite.go
+1
-1
@@ -12,7 +12,7 @@ import (
12
func init() {
13
caddy2.RegisterModule(caddy2.Module{
14
Name: "http.middleware.rewrite",
15
- New: func() (interface{}, error) { return new(Rewrite), nil },
15
+ New: func() interface{} { return new(Rewrite) },
16
})
17
}
18
modules/caddyhttp/staticresp.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
func init() {
12
caddy2.RegisterModule(caddy2.Module{
13
Name: "http.responders.static",
14
- New: func() (interface{}, error) { return new(Static), nil },
14
+ New: func() interface{} { return new(Static) },
15
})
16
}
17
modules/caddyhttp/table.go
+2
-2
@@ -9,12 +9,12 @@ import (
9
func init() {
10
caddy2.RegisterModule(caddy2.Module{
11
Name: "http.middleware.table",
12
- New: func() (interface{}, error) { return new(tableMiddleware), nil },
12
+ New: func() interface{} { return new(tableMiddleware) },
13
})
14
15
caddy2.RegisterModule(caddy2.Module{
16
Name: "http.matchers.table",
17
- New: func() (interface{}, error) { return new(tableMatcher), nil },
17
+ New: func() interface{} { return new(tableMatcher) },
18
})
19
}
20
modules/caddytls/acmemanager.go
+1
-1
@@ -15,7 +15,7 @@ import (
15
func init() {
16
caddy2.RegisterModule(caddy2.Module{
17
Name: "tls.management.acme",
18
- New: func() (interface{}, error) { return new(acmeManagerMaker), nil },
18
+ New: func() interface{} { return new(acmeManagerMaker) },
19
})
20
}
21
modules/caddytls/fileloader.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
func init() {
12
caddy2.RegisterModule(caddy2.Module{
13
Name: "tls.certificates.load_files",
14
- New: func() (interface{}, error) { return fileLoader{}, nil },
14
+ New: func() interface{} { return fileLoader{} },
15
})
16
}
17
modules/caddytls/folderloader.go
+1
-1
@@ -16,7 +16,7 @@ import (
16
func init() {
17
caddy2.RegisterModule(caddy2.Module{
18
Name: "tls.certificates.load_folders",
19
- New: func() (interface{}, error) { return folderLoader{}, nil },
19
+ New: func() interface{} { return folderLoader{} },
20
})
21
}
22
modules/caddytls/matchers.go
+1
-1
@@ -12,7 +12,7 @@ type MatchServerName []string
12
func init() {
13
caddy2.RegisterModule(caddy2.Module{
14
Name: "tls.handshake_match.host",
15
- New: func() (interface{}, error) { return MatchServerName{}, nil },
15
+ New: func() interface{} { return MatchServerName{} },
16
})
17
}
18
modules/caddytls/tls.go
+1
-1
@@ -15,7 +15,7 @@ import (
15
func init() {
16
caddy2.RegisterModule(caddy2.Module{
17
Name: "tls",
18
- New: func() (interface{}, error) { return new(TLS), nil },
18
+ New: func() interface{} { return new(TLS) },
19
})
20
}
21
storage.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
func init() {
12
RegisterModule(Module{
13
Name: "caddy.storage.file_system",
14
- New: func() (interface{}, error) { return new(fileStorage), nil },
14
+ New: func() interface{} { return new(fileStorage) },
15
})
16
}
17