summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/events.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-03-09 14:18:44 +0100
committerJhon Honce <jhonce@redhat.com>2020-03-10 08:03:41 -0700
commit31112e4b087612f7d63e83d770263b8b9fa4f206 (patch)
treee27af2df4e9c2c24f6a245e245ccc96d5fe1706b /pkg/api/handlers/events.go
parent684813fb3effbd7a483e44233ed395eb49c7fded (diff)
downloadpodman-31112e4b087612f7d63e83d770263b8b9fa4f206.tar.gz
podman-31112e4b087612f7d63e83d770263b8b9fa4f206.tar.bz2
podman-31112e4b087612f7d63e83d770263b8b9fa4f206.zip
Refactor handler packages
To help with packaging, the handlers in pkg/api/handlers are now found in pkg/api/handler/compat. Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/api/handlers/events.go')
-rw-r--r--pkg/api/handlers/events.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/pkg/api/handlers/events.go b/pkg/api/handlers/events.go
deleted file mode 100644
index 22dad9923..000000000
--- a/pkg/api/handlers/events.go
+++ /dev/null
@@ -1,61 +0,0 @@
-package handlers
-
-import (
- "encoding/json"
- "fmt"
- "net/http"
-
- "github.com/containers/libpod/libpod/events"
- "github.com/containers/libpod/pkg/api/handlers/utils"
- "github.com/pkg/errors"
- "github.com/sirupsen/logrus"
-)
-
-func GetEvents(w http.ResponseWriter, r *http.Request) {
- var (
- fromStart bool
- eventsError error
- )
- query := struct {
- Since string `schema:"since"`
- Until string `schema:"until"`
- Filters map[string][]string `schema:"filters"`
- }{}
- if err := decodeQuery(r, &query); err != nil {
- utils.Error(w, "Failed to parse parameters", http.StatusBadRequest, errors.Wrapf(err, "Failed to parse parameters for %s", r.URL.String()))
- }
-
- var libpodFilters = []string{}
- if _, found := r.URL.Query()["filters"]; found {
- for k, v := range query.Filters {
- libpodFilters = append(libpodFilters, fmt.Sprintf("%s=%s", k, v[0]))
- }
- }
-
- if len(query.Since) > 0 || len(query.Until) > 0 {
- fromStart = true
- }
- eventChannel := make(chan *events.Event)
- go func() {
- readOpts := events.ReadOptions{FromStart: fromStart, Stream: true, Filters: libpodFilters, EventChannel: eventChannel, Since: query.Since, Until: query.Until}
- eventsError = getRuntime(r).Events(readOpts)
- }()
- if eventsError != nil {
- utils.InternalServerError(w, eventsError)
- return
- }
- w.Header().Set("Content-Type", "application/json")
- w.WriteHeader(http.StatusOK)
- for event := range eventChannel {
- e := EventToApiEvent(event)
- //utils.WriteJSON(w, http.StatusOK, e)
- coder := json.NewEncoder(w)
- coder.SetEscapeHTML(true)
- if err := coder.Encode(e); err != nil {
- logrus.Errorf("unable to write json: %q", err)
- }
- if flusher, ok := w.(http.Flusher); ok {
- flusher.Flush()
- }
- }
-}