Table of Contents

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

options PoolOptions
httpClient HttpClient

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

cancellationToken CancellationToken

Returns

Task<string>