/Oxpecker

ASP.NET Core based F# framework

Primary LanguageF#MIT LicenseMIT

Oxpecker

Oxpecker

Oxpecker is a functional wrapper around ASP.NET Core Endpoint routing. Repository contains both main project and other related packages.

This library is basically a revised version of Giraffe, it mostly sticks to Giraffe'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.

Medium posts:

Oxpecker project is planned to be moved to fsprojects organization once it reaches 200 stars

Features:

  • Native ASP.NET Core Endpoint routing integration
  • ViewEngine with convenient DSL for HTML
  • 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
  • IResult support
  • Many useful HttpContext extensions

Examples:

Documentation links:

develop vs main branch:

develop is a development branch, projects are linked with each other using project references. Use this branch to send PRs.

main is a production branch, projects are linked with each other using nuget packages. Packages are published from this branch.