瀏覽代碼

Better err handling

ParthSareen 4 月之前
父節點
當前提交
a5e66a1163
共有 1 個文件被更改,包括 21 次插入4 次删除
  1. 21 4
      server/routes.go

+ 21 - 4
server/routes.go

@@ -564,6 +564,12 @@ func (s *Server) TokenizeHandler(w http.ResponseWriter, r *http.Request) {
 		return
 		return
 	}
 	}
 
 
+	slog.Info("tokenize request", "text", req.Text, "tokens", req.Text)
+	if req.Text == "" {
+		http.Error(w, "missing text for tokenization", http.StatusBadRequest)
+		return
+	}
+
 	runner, _, _, err := s.scheduleRunner(r.Context(), req.Model, []Capability{}, nil, req.KeepAlive)
 	runner, _, _, err := s.scheduleRunner(r.Context(), req.Model, []Capability{}, nil, req.KeepAlive)
 	if err != nil {
 	if err != nil {
 		http.Error(w, fmt.Sprintf("model '%s' not found", req.Model), http.StatusNotFound)
 		http.Error(w, fmt.Sprintf("model '%s' not found", req.Model), http.StatusNotFound)
@@ -577,9 +583,12 @@ func (s *Server) TokenizeHandler(w http.ResponseWriter, r *http.Request) {
 	}
 	}
 
 
 	w.Header().Set("Content-Type", "application/json")
 	w.Header().Set("Content-Type", "application/json")
-	json.NewEncoder(w).Encode(api.TokenizeResponse{
+	if err := json.NewEncoder(w).Encode(api.TokenizeResponse{
 		Tokens: tokens,
 		Tokens: tokens,
-	})
+	}); err != nil {
+		http.Error(w, fmt.Sprintf("failed to encode response: %v", err), http.StatusInternalServerError)
+		return
+	}
 }
 }
 
 
 func (s *Server) DetokenizeHandler(w http.ResponseWriter, r *http.Request) {
 func (s *Server) DetokenizeHandler(w http.ResponseWriter, r *http.Request) {
@@ -598,6 +607,11 @@ func (s *Server) DetokenizeHandler(w http.ResponseWriter, r *http.Request) {
 		return
 		return
 	}
 	}
 
 
+	if req.Tokens == nil {
+		http.Error(w, "missing tokens for detokenization", http.StatusBadRequest)
+		return
+	}
+
 	runner, _, _, err := s.scheduleRunner(r.Context(), req.Model, []Capability{}, nil, req.KeepAlive)
 	runner, _, _, err := s.scheduleRunner(r.Context(), req.Model, []Capability{}, nil, req.KeepAlive)
 	if err != nil {
 	if err != nil {
 		http.Error(w, fmt.Sprintf("model '%s' not found", req.Model), http.StatusNotFound)
 		http.Error(w, fmt.Sprintf("model '%s' not found", req.Model), http.StatusNotFound)
@@ -611,9 +625,12 @@ func (s *Server) DetokenizeHandler(w http.ResponseWriter, r *http.Request) {
 	}
 	}
 
 
 	w.Header().Set("Content-Type", "application/json")
 	w.Header().Set("Content-Type", "application/json")
-	json.NewEncoder(w).Encode(api.DetokenizeResponse{
+	if err := json.NewEncoder(w).Encode(api.DetokenizeResponse{
 		Text: text,
 		Text: text,
-	})
+	}); err != nil {
+		http.Error(w, fmt.Sprintf("failed to encode response: %v", err), http.StatusInternalServerError)
+		return
+	}
 }
 }
 
 
 func (s *Server) PullHandler(c *gin.Context) {
 func (s *Server) PullHandler(c *gin.Context) {