VOOZH about

URL: https://www.nuget.org/packages/Functions.Worker.Extensions.HttpApi/

⇱ NuGet Gallery | Functions.Worker.Extensions.HttpApi 3.0.5




Functions.Worker.Extensions.HttpApi 3.0.5

dotnet add package Functions.Worker.Extensions.HttpApi --version 3.0.5
 
 
NuGet\Install-Package Functions.Worker.Extensions.HttpApi -Version 3.0.5
 
 
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="Functions.Worker.Extensions.HttpApi" Version="3.0.5" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Functions.Worker.Extensions.HttpApi" Version="3.0.5" />
 
Directory.Packages.props
<PackageReference Include="Functions.Worker.Extensions.HttpApi" />
 
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 Functions.Worker.Extensions.HttpApi --version 3.0.5
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Functions.Worker.Extensions.HttpApi, 3.0.5"
 
 
#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 Functions.Worker.Extensions.HttpApi@3.0.5
 
 
#: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=Functions.Worker.Extensions.HttpApi&version=3.0.5
 
Install as a Cake Addin
#tool nuget:?package=Functions.Worker.Extensions.HttpApi&version=3.0.5
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

HTTP API Extensions for Azure Functions

👁 Build
👁 Downloads
👁 NuGet
👁 License

Features

  • Better route precedence
  • Model validation
  • ASP.NET Core like helpers
  • Support URL generation
  • Handle static files
  • Simple reverse proxy
  • Streamlined SPA / SSG hosting

Installation

# For .NET 6/8 In-Process
Install-Package WebJobs.Extensions.HttpApi

# For .NET Isolated Worker
Install-Package Functions.Worker.Extensions.HttpApi
# For .NET 6/8 In-Process
dotnet add package WebJobs.Extensions.HttpApi

# For .NET Isolated Worker
dotnet add package Functions.Worker.Extensions.HttpApi
// Inherits from `HttpFunctionBase` class
public class Function1(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function1")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Function, "get")] HttpRequest req,
 ILogger log)
 {
 return Ok($"Hello, {req.Query["name"]}");
 }
}

Examples

Model validation

public class Function1(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function1")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Function, "post")]
 SampleModel model,
 ILogger log)
 {
 if (!TryValidateModel(model))
 {
 return BadRequest(ModelState);
 }

 return Ok(model);
 }
}

public class SampleModel
{
 [Required]
 public string Name { get; set; }

 public string[] Array { get; set; }

 [Range(100, 10000)]
 public int Price { get; set; }
}

ASP.NET Core like helpers

public class Function2(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function2")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Function, "get")]
 HttpRequest req,
 ILogger log)
 {
 Response.Headers.Add("Cache-Control", "no-cache");

 return Ok($"Now: {DateTime.Now}");
 }
}

Support URL generation

public class Function3(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function3")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Function, "get", Route = "route/{id}")]
 HttpRequest req,
 string id,
 ILogger log)
 {
 return CreatedAtFunction("Function3", new { id = "kazuakix" }, null);
 }
}

Handle static files

public class Function1(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function1")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req,
 ILogger log)
 {
 return File("sample.html");
 }
}

Simple reverse proxy

public class Function1(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function1")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "{*path}"})] HttpRequest req,
 ILogger log)
 {
 return Proxy("https://example.com/{path}");
 }
}

Streamlined SPA / SSG hosting

public class Function1(IHttpContextAccessor httpContextAccessor) : HttpFunctionBase(httpContextAccessor)
{
 [FunctionName("Function1")]
 public IActionResult Run(
 [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "{*path}"})] HttpRequest req,
 ILogger log)
 {
#if USE_REMOTE
 return RemoteStaticApp("https://example.com", fallbackExclude: $"^/_nuxt/.*");
#else
 return LocalStaticApp(fallbackPath: "404.html", fallbackExclude: $"^/_nuxt/.*");
#endif
 }
}

License

This project is licensed under the MIT License

Product Versions Compatible and additional computed target framework versions.
.NET net8.0 net8.0 is compatible.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 was computed.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows 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 (1)

Showing the top 1 NuGet packages that depend on Functions.Worker.Extensions.HttpApi:

Package Downloads
Dimsi.Azure.Functions.Worker.Extensions.MediatR

This extension has the objective to simplify the use of MediatR with Microsoft Azure Function isolated worker

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Functions.Worker.Extensions.HttpApi:

Repository Stars
polymind-inc/acmebot
Automated ACME SSL/TLS certificate management built around Azure Key Vault
Version Downloads Last Updated
3.0.5 3,662 10/12/2025
3.0.3 326 10/6/2025
3.0.2 224 10/6/2025
3.0.1 254 9/25/2025
3.0.0 1,423 11/18/2024
3.0.0-preview1 157 8/4/2024