change error handler behavior and fix error when a model isn't found (#173)

This commit is contained in:
Patrick Devine
2023-07-21 23:02:12 -07:00
committed by GitHub
parent 37324a0a00
commit 6d6b0d3321
4 changed files with 17 additions and 36 deletions

View File

@@ -3,6 +3,7 @@ package server
import (
"encoding/json"
"errors"
"fmt"
"io"
"log"
"net"
@@ -166,20 +167,14 @@ func DeleteModelHandler(c *gin.Context) {
return
}
ch := make(chan any)
go func() {
defer close(ch)
fn := func(r api.ProgressResponse) {
ch <- r
}
if err := DeleteModel(req.Name, fn); err != nil {
if err := DeleteModel(req.Name); err != nil {
if os.IsNotExist(err) {
c.JSON(http.StatusNotFound, gin.H{"error": fmt.Sprintf("model '%s' not found", req.Name)})
} else {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
}()
streamResponse(c, ch)
return
}
}
func ListModelsHandler(c *gin.Context) {