parameters: (self, data, start_offset, file_len)
docstring: Send the block to the storage service.
  
      This is a utility method that does not modify self.
  
      Args:
        data: data to send in str.
        start_offset: start offset of the data in relation to the file.
        file_len: an int if this is the last data to append to the file.
          Otherwise '*'.
docstring_summary: Send the block to the storage service.
docstring_tokens: Send the block to the storage service .
function: def _send_data(self, data, start_offset, file_len):
      """Send the block to the storage service.
  
      This is a utility method that does not modify self.
  
      Args:
        data: data to send in str.
        start_offset: start offset of the data in relation to the file.
        file_len: an int if this is the last data to append to the file.
          Otherwise '*'.
      """
      headers = {}
      end_offset = start_offset + len(data) - 1
  
      if data:
        headers['content-range'] = ('bytes %d-%d/%s' %
                                    (start_offset, end_offset, file_len))
      else:
        headers['content-range'] = ('bytes */%s' % file_len)
  
      status, response_headers, _ = self._api.put_object(
          self._path_with_token, payload=data, headers=headers)
      if file_len == '*':
        expected = 308
      else:
        expected = 200
      errors.check_status(status, [expected], self._path, headers,
                          response_headers,
                          {'upload_path': self._path_with_token})
function_tokens: def _send_data ( self , data , start_offset , file_len ) : headers = { } end_offset = start_offset + len ( data ) - 1 if data : headers [ 'content-range' ] = ( 'bytes %d-%d/%s' % ( start_offset , end_offset , file_len ) ) else : headers [ 'content-range' ] = ( 'bytes */%s' % file_len ) status , response_headers , _ = self . _api . put_object ( self . _path_with_token , payload = data , headers = headers ) if file_len == '*' : expected = 308 else : expected = 200 errors . check_status ( status , [ expected ] , self . _path , headers , response_headers , { 'upload_path' : self . _path_with_token } )