Get rid of Export(). Fix golint warnings
This commit is contained in:
@@ -7,21 +7,25 @@ import (
|
||||
|
||||
var version = "v1"
|
||||
|
||||
// Sample stores middleware metadata
|
||||
type Sample struct{ Name string }
|
||||
|
||||
// Handler processes requests
|
||||
func (s *Sample) Handler(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Welcome to my website", s.Name, version)
|
||||
}
|
||||
|
||||
// Handler2 processes requests
|
||||
func Handler2(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Welcome to my website", version)
|
||||
}
|
||||
|
||||
// NewSample returns a new sample handler function
|
||||
func NewSample(name string) func(http.ResponseWriter, *http.Request) {
|
||||
fmt.Println("in NewSample", name, version)
|
||||
s := &Sample{"test"}
|
||||
return s.Handler
|
||||
//return Handler2
|
||||
fmt.Println("in NewSample", name, version, s)
|
||||
//return s.Handler
|
||||
return Handler2
|
||||
//return func(w http.ResponseWriter, r *http.Request) { return Handler2(w, r) }
|
||||
//return func(w http.ResponseWriter, r *http.Request) { return s.Handler(w, r) }
|
||||
}
|
||||
|
||||
@@ -10,9 +10,8 @@ import (
|
||||
|
||||
// Plugin struct stores metadata for external modules
|
||||
type Plugin struct {
|
||||
Pkgname, Typename string
|
||||
Id int
|
||||
handler func(http.ResponseWriter, *http.Request)
|
||||
name string
|
||||
handler func(http.ResponseWriter, *http.Request)
|
||||
}
|
||||
|
||||
// Handler redirect http.Handler processing in the interpreter
|
||||
@@ -33,7 +32,7 @@ func main() {
|
||||
|
||||
handler, err := i.Eval(`plugin.NewSample("test")`)
|
||||
log.Println("handler:", handler, "err:", err)
|
||||
p := &Plugin{"sample", "Middleware", 0, nil}
|
||||
p := &Plugin{"sample", nil}
|
||||
p.handler = handler.Interface().(func(http.ResponseWriter, *http.Request))
|
||||
http.HandleFunc("/", p.Handler)
|
||||
http.ListenAndServe(":8080", nil)
|
||||
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
package interp
|
||||
|
||||
func Example_export() {
|
||||
src := `package tst
|
||||
|
||||
func Exported() { println("Hello from Exported") }
|
||||
`
|
||||
|
||||
i := NewInterpreter(Opt{}, "export_test")
|
||||
i.Eval(src)
|
||||
f := i.Export("tst", "Exported").Interface().(func())
|
||||
f()
|
||||
|
||||
// Output:
|
||||
// Hello from Exported
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package interp
|
||||
|
||||
import (
|
||||
"log"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -202,23 +201,6 @@ func (i *Interpreter) Eval(src string) (reflect.Value, error) {
|
||||
return res, err
|
||||
}
|
||||
|
||||
// Export returns a value defined in the interpreter during execution
|
||||
// for use in the runtime
|
||||
func (i *Interpreter) Export(pkg, name string) reflect.Value {
|
||||
sym := i.scope[pkg].sym[name]
|
||||
var res reflect.Value
|
||||
if sym == nil {
|
||||
return res
|
||||
}
|
||||
switch sym.kind {
|
||||
case Func:
|
||||
log.Println("Export func", pkg+"."+name, sym.node.index)
|
||||
wrapper := genNodeWrapper(sym.node)
|
||||
res = wrapper(i.Frame)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
// Import loads binary runtime symbols in the interpreter context so
|
||||
// they can be used in interpreted code
|
||||
func (i *Interpreter) Import(values LibValueMap, types LibTypeMap) {
|
||||
|
||||
1
vendor/github.com/containous/provider2/provider.go
generated
vendored
1
vendor/github.com/containous/provider2/provider.go
generated
vendored
@@ -2,6 +2,7 @@ package provider2
|
||||
|
||||
import "fmt"
|
||||
|
||||
// Sample is a dummy test function
|
||||
func Sample() {
|
||||
fmt.Println("Hello from Provider2")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user