docs: def _read_range(self, start, end=0):
          """
          Read a range of bytes in stream.
  
          Args:
              start (int): Start stream position.
              end (int): End stream position.
                  0 To not specify end.
  
          Returns:
              bytes: number of bytes read
          """
          if start >= self._size:
              # EOF. Do not detect using 416 (Out of range) error, 200 returned.
              return bytes()
  
          # Get object bytes range
          with _handle_oss_error():
              response = self._bucket.get_object(key=self._key, headers=dict(
                  Range=self._http_range(
                      # Returns full file if end > size
                      start, end if end <= self._size else self._size)))
  
          # Get object content
          return response.read()