srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/internal/ipc/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/ipc/server.go')
-rw-r--r--internal/ipc/server.go21
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 {