Skip to content

Commit

Permalink
Add events endpoint to v2.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
rjnagal committed Mar 28, 2015
1 parent dd19c93 commit bb77a9b
Showing 1 changed file with 24 additions and 18 deletions.
42 changes: 24 additions & 18 deletions api/versions.go
Original file line number Diff line number Diff line change
Expand Up @@ -261,31 +261,35 @@ func (self *version1_3) SupportedRequestTypes() []string {
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)
}
eventChannel, err := m.WatchForEvents(query)
return handleEventRequest(m, w, r)
default:
return self.baseVersion.HandleRequest(requestType, request, m, w, r)
}
}

func handleEventRequest(m manager.Manager, w http.ResponseWriter, r *http.Request) error {
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 streamResults(eventChannel, w, r, m)
default:
return self.baseVersion.HandleRequest(requestType, request, m, w, r)
return writeResult(pastEvents, w)
}
eventChannel, err := m.WatchForEvents(query)
if err != nil {
return err
}
return streamResults(eventChannel, w, r, m)

}

// API v2.0

// v2.0 builds on v1.3
type version2_0 struct {
}

Expand All @@ -298,7 +302,7 @@ func (self *version2_0) Version() string {
}

func (self *version2_0) SupportedRequestTypes() []string {
return []string{versionApi, attributesApi, machineApi, summaryApi, statsApi, specApi, storageApi}
return []string{versionApi, attributesApi, eventsApi, machineApi, summaryApi, statsApi, specApi, storageApi}
}

func (self *version2_0) HandleRequest(requestType string, request []string, m manager.Manager, w http.ResponseWriter, r *http.Request) error {
Expand Down Expand Up @@ -383,6 +387,8 @@ func (self *version2_0) HandleRequest(requestType string, request []string, m ma
}
}
return writeResult(fi, w)
case eventsApi:
return handleEventRequest(m, w, r)
default:
return fmt.Errorf("unknown request type %q", requestType)
}
Expand Down

0 comments on commit bb77a9b

Please sign in to comment.