func (self *version1_3) HandleRequest(requestType string, request []string, m manager.Manager, w http.ResponseWriter, r *http.Request) error { switch requestType { case eventsApi: query, eventsFromAllTime, err := getEventRequest(r) if err != nil { return err } glog.V(2).Infof("Api - Events(%v)", query) if eventsFromAllTime { pastEvents, err := m.GetPastEvents(query) if err != nil { return err } return writeResult(pastEvents, w) } eventsChannel := make(chan *events.Event, 10) err = m.WatchForEvents(query, eventsChannel) if err != nil { return err } return streamResults(eventsChannel, w, r) default: return self.baseVersion.HandleRequest(requestType, request, m, w, r) } }
func handleEventRequest(request []string, m manager.Manager, w http.ResponseWriter, r *http.Request) error { query, stream, err := getEventRequest(r) if err != nil { return err } query.ContainerName = path.Join("/", getContainerName(request)) glog.V(4).Infof("Api - Events(%v)", query) if !stream { pastEvents, err := m.GetPastEvents(query) if err != nil { return err } return writeResult(pastEvents, w) } eventChannel, err := m.WatchForEvents(query) if err != nil { return err } return streamResults(eventChannel, w, r, m) }