diff options
Diffstat (limited to 'internal/ipc/server.go')
| -rw-r--r-- | internal/ipc/server.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/ipc/server.go b/internal/ipc/server.go index 303fdef..c83254e 100644 --- a/internal/ipc/server.go +++ b/internal/ipc/server.go @@ -230,6 +230,27 @@ func (s *Server) handleConn(conn net.Conn) { } enc.Encode(Response{Type: "cleared"}) + case "import": + imported := 0 + for _, ie := range req.ImportEntries { + e := &store.Entry{ + StartedAt: ie.StartedAt, + Duration: ie.Duration, + Method: ie.Method, + Scheme: ie.Scheme, + Host: ie.Host, + Path: ie.Path, + StatusCode: ie.StatusCode, + RequestRaw: ie.RequestRaw, + ResponseRaw: ie.ResponseRaw, + Source: "import", + } + if _, err := s.db.Insert(e); err == nil { + imported++ + } + } + enc.Encode(Response{Type: "import_done", Imported: imported}) + case "rules_list": rs, err := s.db.ListRules() if err != nil { |