Creates a new resource in the container.
The identifier of the newly created resource.
Wraps a representation to make it reset the timeout timer every time data is read.
The representation to wrap
Function to call to reset the timer.
Deletes a resource.
Identifiers of resources that were possibly modified.
Acquires the correct identifier to lock this resource. For auxiliary resources this means the subject identifier.
Retrieves a representation of a resource.
A representation corresponding to the identifier.
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.
Identifier that should be locked.
Function to be executed while the resource is locked.
Sets or updates the representation of a resource, creating a new resource and intermediary containers as needed.
Identifiers of resources that were possibly modified.
Check if a resource exists.
A promise resolving if the resource already exists
Sets or replaces the representation of a resource, creating a new resource and intermediary containers as needed.
Identifiers of resources that were possibly modified.
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.
The input stream.
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.