Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Broker provides the intelligence of how to mark and direct all events
- func (c *EventsController) Broker(w http.ResponseWriter, r *http.Request) error {
- var err error
- c.Accept = r.Header.Get("Accept")
- c.ContentType = "application/json"
- dbEvent, err := c.Env.Jack.ByExtKeyAndOpen(c.Event.ExtKey)
- c.Event.ID = dbEvent.ID
- if err != nil {
- c.Event.ID = 0
- }
- switch {
- case c.Event.ID == 0 && c.Event.Severity != models.NORMAL:
- return c.create(w, r)
- case c.Event.ID == 0 && c.Event.Severity == models.NORMAL:
- return c.flapping(w, r)
- case c.Event.ID > 0 && c.Event.Severity != models.NORMAL:
- return c.update(w, r)
- case c.Event.ID > 0 && c.Event.Severity == models.NORMAL:
- return c.closeAction(w, r)
- }
- return handler.StatusError{
- Code: http.StatusInternalServerError,
- Err: errors.New("unable to determine event status"),
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement