Is an integer specifying how many bytes to read from the file. By default, all bytes will be read.
If provided, the size of the file will be checked against the limits.
Is an integer specifying where to begin reading from in the file. If position is undefined, data will be read from the current file position.
The optional etag parameter allows to return early from resolving the resource if the contents on disk match the etag. This prevents accumulated reading of resources that have been read already with the same etag. It is the task of the caller to makes sure to handle this error case from the promise.