Class BundleProvisioner
- Namespace
- CobaltPdf.WebKit.Infrastructure.Provisioning
- Assembly
- CobaltPDF.WebKit.dll
Downloads, verifies, extracts, and caches the WebKitGTK bundle so the rendering subprocess can run inline (no Docker) inside a Linux .NET app.
First call performs the full provision (HTTPS GET → streaming SHA-256 →
tar.gz extract → chmod). Subsequent calls short-circuit on the
.ready marker, returning in microseconds.
Cross-process safety: a file lock under the cache directory serialises concurrent provisions (two web app workers booting at once).
public sealed class BundleProvisioner
- Inheritance
-
BundleProvisioner
- Inherited Members
Constructors
BundleProvisioner(PoolOptions, HttpClient?)
public BundleProvisioner(PoolOptions options, HttpClient? httpClient = null)
Parameters
optionsPoolOptionshttpClientHttpClient
Methods
EnsureAsync(CancellationToken)
Returns a path that satisfies the inline-mode contract (contains a
launch.sh). Performs provisioning if necessary. Safe to call
concurrently from multiple threads / multiple processes.
public Task<string> EnsureAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken