dispatch/README.md
Lunny Xiao 3e8d2563fc
Some checks failed
checks / check and test (push) Failing after 23s
Use actions instead of drone
2023-04-20 15:53:54 +08:00

63 lines
1.1 KiB
Markdown

# Dispatch
Dispacth is a handler for dipatch http request according url's prefix.
## Example
```Go
import (
"github.com/lunny/tango"
"github.com/tango-contrib/dispatch"
)
func main() {
logger := tango.NewLogger(os.Stdout)
t1 := tango.NewWithLog(logger)
t2 := tango.NewWithLog(logger)
dispatch := dispatch.New(map[string]*tango.Tango{
"/": t1,
"/api/": t2,
})
t3 := tango.NewWithLog(logger)
t3.Use(dispatch)
t3.Run(":8000")
}
```
```Go
package main
import (
"github.com/Unknwon/macaron"
"github.com/lunny/tango"
"github.com/tango-contrib/dispatch"
)
func main() {
t := tango.Classic()
t.Any("/favicon.ico", func(self *tango.Context) {
self.Redirect("/static/favicon.ico", 301)
})
t.Any("/", func() string {
return "Hello Tango!"
})
m := macaron.Classic()
m.Get("/", func(ctx *macaron.Context) string {
return "Macaron on Tango!"
})
dispatch := dispatch.Use("/", t)
dispatch.Add("/m/", m)
tan := tango.Classic()
tan.Use(dispatch)
tan.Run(80)
}
```