Flowthru.Extensions.Http 0.26.0-preview.112

This is a prerelease version of Flowthru.Extensions.Http.
dotnet add package Flowthru.Extensions.Http --version 0.26.0-preview.112
                    
NuGet\Install-Package Flowthru.Extensions.Http -Version 0.26.0-preview.112
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Flowthru.Extensions.Http" Version="0.26.0-preview.112" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Flowthru.Extensions.Http" Version="0.26.0-preview.112" />
                    
Directory.Packages.props
<PackageReference Include="Flowthru.Extensions.Http" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Flowthru.Extensions.Http --version 0.26.0-preview.112
                    
#r "nuget: Flowthru.Extensions.Http, 0.26.0-preview.112"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Flowthru.Extensions.Http@0.26.0-preview.112
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Flowthru.Extensions.Http&version=0.26.0-preview.112&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Flowthru.Extensions.Http&version=0.26.0-preview.112&prerelease
                    
Install as a Cake Tool

Flowthru.Extensions.Http

Read Flowthru Catalog Items from http:// and https:// URLs. This package registers an IStorageMediumProvider for the HTTP(S) schemes, so any format extension (Csv, Parquet, Json, Xml, …) can read from a remote endpoint with no change — a Flow targets HTTP by writing a https://… URL where a path is accepted, and the typed mapping to your schema happens exactly as it would for a local file.

coverage

Mental model

Storage in Flowthru is three independent axes: format (how bytes serialize) × medium (where bytes live) × container (the in-memory shape). This package adds one medium — an HTTP endpoint. It does not know about CSV or Parquet, and they do not know about HTTP; they meet through the medium resolver. Bring your mental model of fetching a file over the web: a GET returns bytes, an optional User-Agent, a timeout, and conditional-GET caching so a large file isn't re-downloaded on every run. An HTTP-backed Item is a remote read source.

Install

dotnet add package Flowthru.Extensions.Http

Register the medium, then target HTTP by writing an https:// URL anywhere a path is accepted:

services.AddFlowthru(b =>
{
    b.UseHttp();                     // bound from the Flowthru:Http config section
    b.RegisterCatalog(sp => new Catalog(
        basePath, sp.GetRequiredService<IStorageMediumResolver>()));
});

// In the Catalog — the resolver routes the https:// URI through the HTTP medium:
public IItem<IEnumerable<RetailTransactionSchema>> RetailTransactionsRaw =>
    CreateItem(() => Item.Of<IEnumerable<RetailTransactionSchema>>("RetailTransactionsRaw")
        .Csv()
        .AtPath("https://example.com/data/online-retail-dataset.csv")
        .Build());

Bare paths and file:// still resolve to the local filesystem; only http:///https:// route here.

Configuration

Bound from the Flowthru:Http section, or overridden code-first via UseHttp(http => …). On-disk conditional-GET caching avoids re-downloading an unchanged file on every run:

b.UseHttp(http =>
{
    http.Timeout = TimeSpan.FromMinutes(15);
    http.UserAgent = "MyOrg-Pipeline/2.0";
    http.Cache = new HttpCacheOptions
    {
        Directory = "/var/cache/flowthru",
        MaxAge = TimeSpan.FromHours(24),
    };
});

MaxConcurrentRequestsPerHost is the opt-in cap for throttling a rate-limited endpoint; HTTP reads are parallel-safe and unbounded by default.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.26.0-preview.112 50 6/5/2026
0.25.0 101 6/2/2026
0.25.0-preview.110 49 6/2/2026
0.24.0-preview.108 47 6/2/2026
0.21.0 98 5/24/2026
0.21.0-preview.101 48 5/24/2026
0.20.0 93 5/23/2026
0.20.0-preview.100 48 5/23/2026
0.19.0-preview.99 52 5/23/2026
0.18.5-preview.98 64 5/22/2026
0.18.4-preview.97 50 5/22/2026
0.18.3 97 5/20/2026
0.18.3-preview.95 53 5/19/2026
0.18.2 93 5/18/2026
0.18.2-preview.93 51 5/18/2026
0.18.1 91 5/15/2026
0.18.1-preview.92 49 5/14/2026
0.18.0-preview.91 44 5/14/2026
0.17.5 82 5/13/2026
Loading failed