code: func NewUnroutedHandler(config Config) (*UnroutedHandler, error) {
  	if err := config.validate(); err != nil {
  		return nil, err
  	}
  
  	// Only promote extesions using the Tus-Extension header which are implemented
  	extensions := "creation,creation-with-upload"
  	if config.StoreComposer.UsesTerminater {
  		extensions += ",termination"
  	}
  	if config.StoreComposer.UsesConcater {
  		extensions += ",concatenation"
  	}
  	if config.StoreComposer.UsesLengthDeferrer {
  		extensions += ",creation-defer-length"
  	}
  
  	handler := &UnroutedHandler{
  		config:            config,
  		composer:          config.StoreComposer,
  		basePath:          config.BasePath,
  		isBasePathAbs:     config.isAbs,
  		CompleteUploads:   make(chan FileInfo),
  		TerminatedUploads: make(chan FileInfo),
  		UploadProgress:    make(chan FileInfo),
  		CreatedUploads:    make(chan FileInfo),
  		logger:            config.Logger,
  		extensions:        extensions,
  		Metrics:           newMetrics(),
  	}
  
  	return handler, nil
  }
docs: // NewUnroutedHandler creates a new handler without routing using the given
  // configuration. It exposes the http handlers which need to be combined with
  // a router (aka mux) of your choice. If you are looking for preconfigured
  // handler see NewHandler.