mirror of https://github.com/docker/docs.git
Implement OnLog and OnError
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
3ac10e0c92
commit
97a0b78d35
|
@ -27,6 +27,12 @@ func (s *Server) OnVerb(v Verb, h Sender) *Server {
|
|||
return s
|
||||
}
|
||||
|
||||
func (s *Server) OnLog(h func(...string) error) *Server {
|
||||
return s.OnVerb(Log, Handler(func(msg *Message) error {
|
||||
return h(msg.Args...)
|
||||
}))
|
||||
}
|
||||
|
||||
func (s *Server) OnLs(h func() ([]string, error)) *Server {
|
||||
return s.OnVerb(Ls, Handler(func(msg *Message) error {
|
||||
names, err := h()
|
||||
|
@ -55,6 +61,12 @@ func (s *Server) OnAttach(h func(name string, ret Sender) error) *Server {
|
|||
}))
|
||||
}
|
||||
|
||||
func (s *Server) OnError(h func(...string) error) *Server {
|
||||
return s.OnVerb(Error, Handler(func(msg *Message) error {
|
||||
return h(msg.Args...)
|
||||
}))
|
||||
}
|
||||
|
||||
func (s *Server) OnGet(h func() (string, error)) *Server {
|
||||
return s.OnVerb(Get, Handler(func(msg *Message) error {
|
||||
content, err := h()
|
||||
|
|
|
@ -25,14 +25,14 @@ func main() {
|
|||
|
||||
func cmdDaemon(c *cli.Context) {
|
||||
app := beam.NewServer()
|
||||
app.OnLog(beam.Handler(func(msg *beam.Message) error {
|
||||
log.Printf("%s\n", strings.Join(msg.Args, " "))
|
||||
app.OnLog(func(args ...string) error {
|
||||
log.Printf("%s\n", strings.Join(args, " "))
|
||||
return nil
|
||||
}))
|
||||
app.OnError(beam.Handler(func(msg *beam.Message) error {
|
||||
Fatalf("Fatal: %v", strings.Join(msg.Args[:1], ""))
|
||||
})
|
||||
app.OnError(func(args ...string) error {
|
||||
Fatalf("Fatal: %v", strings.Join(args[:1], ""))
|
||||
return nil
|
||||
}))
|
||||
})
|
||||
back := backends.New()
|
||||
if len(c.Args()) == 0 {
|
||||
names, err := back.Ls()
|
||||
|
|
Loading…
Reference in New Issue