fix: resolve o1egl's remarks

This commit is contained in:
Tobias Goerke 2023-07-24 07:04:42 +02:00
parent 40a45a6e51
commit 2990cf8c29

View File

@ -32,8 +32,8 @@ type TusHandler struct {
mutex *sync.Mutex mutex *sync.Mutex
} }
func NewTusHandler(store *storage.Storage, server *settings.Server, apiPath string) (TusHandler, error) { func NewTusHandler(store *storage.Storage, server *settings.Server, apiPath string) (_ *TusHandler, err error) {
tusHandler := TusHandler{} tusHandler := &TusHandler{}
tusHandler.store = store tusHandler.store = store
tusHandler.server = server tusHandler.server = server
tusHandler.tusdHandlers = make(map[uint]*tusd.UnroutedHandler) tusHandler.tusdHandlers = make(map[uint]*tusd.UnroutedHandler)
@ -41,7 +41,6 @@ func NewTusHandler(store *storage.Storage, server *settings.Server, apiPath stri
tusHandler.apiPath = apiPath tusHandler.apiPath = apiPath
tusHandler.mutex = &sync.Mutex{} tusHandler.mutex = &sync.Mutex{}
var err error
if tusHandler.settings, err = store.Settings.Get(); err != nil { if tusHandler.settings, err = store.Settings.Get(); err != nil {
return tusHandler, fmt.Errorf("couldn't get settings: %w", err) return tusHandler, fmt.Errorf("couldn't get settings: %w", err)
} }
@ -52,13 +51,12 @@ func NewTusHandler(store *storage.Storage, server *settings.Server, apiPath stri
return tusHandler, nil return tusHandler, nil
} }
func (th TusHandler) getOrCreateTusdHandler(d *data, r *http.Request) (*tusd.UnroutedHandler, error) { func (th *TusHandler) getOrCreateTusdHandler(d *data, r *http.Request) (_ *tusd.UnroutedHandler, err error) {
// Use a mutex to make sure only one tus handler is created for each user // Use a mutex to make sure only one tus handler is created for each user
th.mutex.Lock() th.mutex.Lock()
defer th.mutex.Unlock() defer th.mutex.Unlock()
tusdHandler, ok := th.tusdHandlers[d.user.ID] tusdHandler, ok := th.tusdHandlers[d.user.ID]
log.Printf("Getting tus handler for user %s with basePath %s\n", d.user.Username, d.user.FullPath("/"))
if !ok { if !ok {
// If we don't define an absolute URL for tusd, it creates an absolute URL for us that the client will use. // If we don't define an absolute URL for tusd, it creates an absolute URL for us that the client will use.
// See tusd/handler/unrouted_handler.go/absFileURL() for details. // See tusd/handler/unrouted_handler.go/absFileURL() for details.
@ -76,7 +74,7 @@ func (th TusHandler) getOrCreateTusdHandler(d *data, r *http.Request) (*tusd.Unr
} }
log.Printf("Creating tus handler for user %s on path %s\n", d.user.Username, basePath) log.Printf("Creating tus handler for user %s on path %s\n", d.user.Username, basePath)
tusdHandler, err := th.createTusdHandler(d, basePath) //nolint:govet tusdHandler, err = th.createTusdHandler(d, basePath)
if err != nil { if err != nil {
return nil, err return nil, err
} }