Oxpecker 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Oxpecker --version 0.2.0
NuGet\Install-Package Oxpecker -Version 0.2.0
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="Oxpecker" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Oxpecker --version 0.2.0
#r "nuget: Oxpecker, 0.2.0"
#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.
// Install Oxpecker as a Cake Addin
#addin nuget:?package=Oxpecker&version=0.2.0

// Install Oxpecker as a Cake Tool
#tool nuget:?package=Oxpecker&version=0.2.0

Oxpecker

Nuget package

Oxpecker is a functional wrapper around ASP.NET Core Endpoint routing (sometimes called Minimal API).

This library is basically a revised version of Giraffe, it mostly sticks to it's successful API (hence the name). Improvements involve changing some core types, performance of template handlers, simplifying handlers and dropping a lot of outdated functionality.

Features:

  • Native ASP.NET Core Endpoint routing integration
  • Strongly typed route parameters
  • Endpoint handlers and endpoint middlewares, flexible composition
  • JSON binding and serialization
  • Form binding
  • URL parameters binding
  • Response caching
  • Streaming
  • Authorization
  • eTag support
  • Many useful HttpContext extensions

Documentation:

TBD, for now you can use Giraffe documentation, with the following differences:

  • routef parameters should be surrounded with curly braces {}, this allows using Route constraints
  • routef handler arguments are now curried, not tuplified
  • HttpHandler concept is separated into EndpointHandler and EndpointMiddlware. The difference is that the former doesn't accept next parameter, while the latter does.
  • Case insensitive functions (*Ci) are dropped, since everything is case insensitive by default
  • Some other route functions are dropped
  • JSON.ISerializer only requires one method implemented
  • Model binding will throw exceptions to be caught in common middleware (see examples/Basic)
  • .NET 8 minimal target
  • Oxpecker project is planned to be moved to fsprojects organization once it reaches 200 stars, expect high quality of maintenance
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Oxpecker:

Package Downloads
Oxpecker.OpenApi

OpenApi support for Oxpecker

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.10.1 128 5/8/2024
0.10.0 148 4/29/2024
0.9.3 142 4/10/2024
0.9.2 112 4/5/2024
0.9.1 95 4/4/2024
0.9.0 110 3/23/2024
0.8.1 133 2/29/2024
0.7.1 193 2/12/2024
0.7.0 104 2/7/2024
0.6.1 79 2/5/2024
0.6.0 79 2/3/2024
0.5.1 86 1/26/2024
0.5.0 85 1/23/2024
0.4.0 91 1/22/2024
0.3.0 82 1/19/2024
0.2.0 86 1/15/2024
0.1.0 102 1/12/2024

Added TryGetRouteValue extension method