in internal/server/server.go [289:319]
func (s *IndexServer) handleTruncate() http.HandlerFunc {
route := "truncate"
type response struct {
Success bool
}
return func(w http.ResponseWriter, r *http.Request) {
if err := s.IndexingLock.LockAll(); err != nil {
s.respondWithError(w, r, route, err, http.StatusLocked)
return
}
defer s.IndexingLock.UnlockAll()
fc := file_cleaner.NewFileCleaner(s.IndexBuilder.GetIndexDir(), s.IndexingLock)
if err := fc.Truncate(); err != nil {
err = fmt.Errorf("failed to empty indexDir: %v with error: %w", s.IndexBuilder.GetIndexDir(), err)
s.respondWithError(w, r, route, err, http.StatusInternalServerError)
return
}
resp := response{
Success: true,
}
s.respondWith(w, r, route, resp)
}
}