By: Michael Lynch <git@mtlynch.io>
Make NewUploadPath own temp-file creation NewUploadPath took an already-built path string, but its only caller always passed os.CreateTemp's own output, so its empty/"/" checks guarded against a state that could never occur. That validation only existed to make the zero value double as a "not yet set" sentinel in parseVideoUploadPostRequest, which repeatedly checked tmpPath.String() != "" instead of the type representing optionality itself. NewUploadPath now takes an io.Reader and performs the CreateTemp/Copy/Close sequence itself (absorbing handlers.copyToTempFile), so a successfully constructed UploadPath is real proof a fully-written temp file exists. parseVideoUploadPostRequest now tracks "not yet set" with a *UploadPath instead of an empty-string convention.