def upload_simple(filename, overwrite:, target_name:)
      target_file = get(target_name)
      exist = target_file.file?
      return if exist && !overwrite
      path = nil
      if exist
        path = "#{target_file.api_path}/content"
      else
        path = "#{api_path}:/#{target_name}:/content"
      end

      query = {
        path: File.join('v1.0/me/', path),
        headers: {
          'Authorization': "Bearer #{@od.access_token.token}",
          'Content-Type': 'application/octet-stream'
        },
        body: File.read(filename)
      }
      result = @od.conn.put(query)
      result = JSON.parse(result.body)
      file = OneDriveFile.new(@od, result)
      file.set_mtime(File.mtime(filename))
    end
def upload_simple(filename, overwrite:, target_name:)
      target_file = get(target_name)
      exist = target_file.file?
      return if exist && !overwrite
      path = nil
      if exist
        path = "#{target_file.api_path}/content"
      else
        path = "#{api_path}:/#{target_name}:/content"
      end

      query = {
        path: File.join('v1.0/me/', path),
        headers: {
          'Authorization': "Bearer #{@od.access_token.token}",
          'Content-Type': 'application/octet-stream'
        },
        body: File.read(filename)
      }
      result = @od.conn.put(query)
      result = JSON.parse(result.body)
      file = OneDriveFile.new(@od, result)
      file.set_mtime(File.mtime(filename))
    end
Uploads a local file into current remote directory using simple upload mode.

 @return [OneDriveFile,nil] uploaded file