@@ -15,6 +15,7 @@ import (
1515 "github.com/acorn-io/broadcaster"
1616 gcontext "github.com/gptscript-ai/gptscript/pkg/context"
1717 "github.com/gptscript-ai/gptscript/pkg/gptscript"
18+ "github.com/gptscript-ai/gptscript/pkg/input"
1819 "github.com/gptscript-ai/gptscript/pkg/loader"
1920 "github.com/gptscript-ai/gptscript/pkg/parser"
2021 "github.com/gptscript-ai/gptscript/pkg/runner"
@@ -225,15 +226,14 @@ func (s *server) parse(w http.ResponseWriter, r *http.Request) {
225226 if reqObject .Content != "" {
226227 out , err = parser .Parse (strings .NewReader (reqObject .Content ), reqObject .Options )
227228 } else {
228- var file * os.File
229- file , err = os .Open (reqObject .File )
230- if err != nil {
231- logger .Errorf ("failed to open file: %v" , err )
232- writeError (logger , w , http .StatusInternalServerError , fmt .Errorf ("failed to open file: %w" , err ))
229+ content , loadErr := input .FromLocation (reqObject .File )
230+ if loadErr != nil {
231+ logger .Errorf (loadErr .Error ())
232+ writeError (logger , w , http .StatusInternalServerError , loadErr )
233233 return
234234 }
235- out , err = parser . Parse ( file , reqObject . Options )
236- _ = file . Close ( )
235+
236+ out , err = parser . Parse ( strings . NewReader ( content ), reqObject . Options )
237237 }
238238 if err != nil {
239239 logger .Errorf ("failed to parse file: %v" , err )
0 commit comments