Skip to main content

VelopackFlowSource class

Namespace: Velopack.Sources

Retrieves updates from the hosted Velopack service.

public sealed class VelopackFlowSource : IUpdateSource

Implements: IUpdateSource

Constructors

ConstructorSummary
VelopackFlowSourceRetrieves updates from a static file host or other web server.

VelopackFlowSource(baseUri, downloader)

public VelopackFlowSource(string baseUri = "https://api.velopack.io/", IFileDownloader? downloader = null)

Retrieves updates from a static file host or other web server. Will perform a request for '{baseUri}/RELEASES' to locate the available packages, and provides query parameters to specify the name of the requested package.

Parameters

NameTypeDescription
baseUristring
downloaderIFileDownloader

Properties

PropertySummary
BaseUriThe URL of the server hosting packages to update to.
DownloaderThe IFileDownloader to be used for performing http requests.

BaseUri

public Uri BaseUri { get; }

The URL of the server hosting packages to update to.

Downloader

public IFileDownloader Downloader { get; }

The IFileDownloader to be used for performing http requests.

Methods

MethodSummary
GetReleaseFeedRetrieve the list of available remote releases from the package source. These releases
DownloadReleaseEntryDownload the specified VelopackAsset to the provided local file path.

GetReleaseFeed(logger, appId, channel, stagingId, latestLocalRelease)

public Task<VelopackAssetFeed> GetReleaseFeed(IVelopackLogger logger, string? appId, string channel, Guid? stagingId = null, VelopackAsset? latestLocalRelease = null)

Retrieve the list of available remote releases from the package source. These releases can subsequently be downloaded with DownloadReleaseEntry.

Parameters

NameTypeDescription
loggerIVelopackLoggerThe logger to use for any diagnostic messages.
appIdstring
channelstringRelease channel to filter packages by. Can be null, which is the
default channel for this operating system.
stagingIdGuid?A persistent user-id, used for calculating whether a specific
release should be available to this user or not. (eg, for the purposes of rolling out
an update to only a small portion of users at a time).
latestLocalReleaseVelopackAssetThe latest / current local release. If specified,
metadata from this package may be provided to the remote server (such as package id,
or cpu architecture) to ensure that the correct package is downloaded for this user.

Returns Task<VelopackAssetFeed> — An array of VelopackAsset objects that are available for download and are applicable to this user.

DownloadReleaseEntry(logger, releaseEntry, localFile, progress, cancelToken)

public Task DownloadReleaseEntry(IVelopackLogger logger, VelopackAsset releaseEntry, string localFile, Action<int> progress, CancellationToken cancelToken = default)

Download the specified VelopackAsset to the provided local file path.

Parameters

NameTypeDescription
loggerIVelopackLoggerThe logger to use for any diagnostic messages.
releaseEntryVelopackAssetThe release to download.
localFilestringThe path on the local disk to store the file. If this file exists,
it will be overwritten.
progressAction<int>This delegate will be executed with values from 0-100 as the
download is being processed.
cancelTokenCancellationTokenA token to use to cancel the request.

Returns Task


Generated from Velopack 1.1.1