Class LockingResourceStore

Store that for every call acquires a lock before executing it on the requested resource, and releases it afterwards. In case the request returns a Representation the lock will only be released when the data stream is finished.

For auxiliary resources the lock will be applied to the subject resource. The actual operation is still executed on the auxiliary resource.


  • LockingResourceStore




auxiliaryStrategy: AuxiliaryIdentifierStrategy
logger: Logger = ...


  • Acquires a lock that is only released when all data of the resulting representation data has been read, an error occurs, or the timeout has been triggered. The resulting data stream will be adapted to reset the timer every time data is read.

    In case the data of the resulting stream is not needed it should be closed to prevent a timeout error.


    Returns Promise<Representation>

  • Returns a promise that resolve when the source stream is finished, either by ending or emitting an error. In the case of an error the stream will be destroyed if it hasn't been already.


    • source: Readable

      The input stream.

    Returns Promise<void>