From b33427bc74bc3af1bd26c2545085699e5944f059 Mon Sep 17 00:00:00 2001 From: emranemran Date: Thu, 10 Nov 2022 15:07:42 -0800 Subject: [PATCH] handlers: exit if a bad request or error is encountered --- handlers/upload.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/handlers/upload.go b/handlers/upload.go index e88cad252..6283518e0 100644 --- a/handlers/upload.go +++ b/handlers/upload.go @@ -103,18 +103,21 @@ func (d *CatalystAPIHandlersCollection) UploadVOD() httprouter.Handle { // Use the output directory specified in request as the output directory of transcoded renditions targetURL, err := url.Parse(tURL) if err != nil { - errors.WriteHTTPBadRequest(w, "Invalid request payload", fmt.Errorf("target output file shoul d end in .m3u8 extension")) + errors.WriteHTTPBadRequest(w, "Invalid request payload", fmt.Errorf("target output file should end in .m3u8 extension")) + return } targetDirPath := path.Dir(targetURL.Path) targetManifestFilename := path.Base(targetURL.String()) targetExtension := path.Ext(targetManifestFilename) if targetExtension != ".m3u8" { errors.WriteHTTPBadRequest(w, "Invalid request payload", fmt.Errorf("target output file should end in .m3u8 extension")) + return } targetSegmentedOutputPath := path.Join(targetDirPath, "source", targetManifestFilename) sout, err := url.Parse(targetSegmentedOutputPath) if err != nil { errors.WriteHTTPInternalServerError(w, "Cannot parse targetSegmentedOutputPath", err) + return } targetSegmentedOutputURL := targetURL.ResolveReference(sout) @@ -137,6 +140,7 @@ func (d *CatalystAPIHandlersCollection) UploadVOD() httprouter.Handle { // process the request if err := d.processUploadVOD(streamName, uploadVODRequest.Url, targetSegmentedOutputURL.String()); err != nil { errors.WriteHTTPInternalServerError(w, "Cannot process upload VOD request", err) + return } if err := clients.DefaultCallbackClient.SendTranscodeStatus(uploadVODRequest.CallbackUrl, clients.TranscodeStatusPreparing, 0.0); err != nil {