Skip to content

Instantly share code, notes, and snippets.

View dj-nitehawk's full-sized avatar

Dĵ ΝιΓΞΗΛψΚ dj-nitehawk

View GitHub Profile
@dj-nitehawk
dj-nitehawk / Program.cs
Last active July 9, 2021 06:03
full watcher example
using MongoDB.Bson;
using MongoDB.Entities;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace TestApplication
{
public static class Program
@dj-nitehawk
dj-nitehawk / Program.cs
Last active November 22, 2024 23:51
Endpoint Grouping With FastEndpoints
using FastEndpoints;
using FastEndpoints.Swagger;
var bld = WebApplication.CreateBuilder();
bld.Services
.AddAuthorization()
.AddFastEndpoints()
.SwaggerDocument(o => o.AutoTagPathSegmentIndex = 0);
var app = bld.Build();
@dj-nitehawk
dj-nitehawk / ApiKeyAuth.cs
Last active April 5, 2025 13:49
API Key Authentication With FastEndpoints + Swagger
sealed class ApikeyAuth(IOptionsMonitor<AuthenticationSchemeOptions> options,
ILoggerFactory logger,
UrlEncoder encoder,
IConfiguration config)
: AuthenticationHandler<AuthenticationSchemeOptions>(options, logger, encoder)
{
internal const string SchemeName = "ApiKey";
internal const string HeaderName = "x-api-key";
readonly string _apiKey = config["Auth:ApiKey"] ?? throw new InvalidOperationException("Api key not set in appsettings.json");
@dj-nitehawk
dj-nitehawk / Program.cs
Last active April 3, 2025 03:37
Asp.Versioning.Http Example
using Asp.Versioning;
using Asp.Versioning.Conventions;
using FastEndpoints;
using FastEndpoints.AspVersioning;
using FastEndpoints.Swagger;
VersionSets.CreateApi(">>Orders<<", v => v
.HasApiVersion(1.0)
.HasApiVersion(2.0));
@dj-nitehawk
dj-nitehawk / EndpointFilter.cs
Last active June 30, 2025 16:04
IEndpointFilter usage in FastEndpoints
sealed class OperationCancelledFilter : IEndpointFilter
{
private readonly ILogger<OperationCancelledFilter> logger;
public OperationCancelledFilter(ILogger<OperationCancelledFilter> logger)
{
this.logger = logger;
}
public async ValueTask<object?> InvokeAsync(EndpointFilterInvocationContext context, EndpointFilterDelegate next)
@dj-nitehawk
dj-nitehawk / Endpoint.cs
Last active September 21, 2023 20:26
Session Auth With FastEndpoints + Swagger
public sealed class Endpoint : EndpointWithoutRequest
{
public override void Configure()
{
Get("/protected");
Claims("userId");
Roles("Some_Role_Name");
Permissions("Some_Permission");
}
@dj-nitehawk
dj-nitehawk / Program.cs
Last active December 14, 2023 02:51
Adding/Throwing validation errors from within domain objects/services instead of using Results Pattern
using FastEndpoints;
using FastEndpoints.Swagger;
var bld = WebApplication.CreateBuilder();
bld.Services
.AddFastEndpoints()
.SwaggerDocument();
var app = bld.Build();
app.UseFastEndpoints()
@dj-nitehawk
dj-nitehawk / program.cs
Created July 31, 2023 06:03
FastEndpoints usage with Ardalis.Result package
using Ardalis.Result;
using FastEndpoints;
using FastEndpoints.Swagger;
var bld = WebApplication.CreateBuilder();
bld.Services
.AddFastEndpoints()
.SwaggerDocument();
var app = bld.Build();
@dj-nitehawk
dj-nitehawk / Program.cs
Last active July 5, 2025 08:29
Serialization of XML with FastEndpoints
var bld = WebApplication.CreateBuilder();
bld.Services
.AddSingleton(typeof(IRequestBinder<>), typeof(CustomBinder<>))
.AddFastEndpoints()
.SwaggerDocument(o => o.SerializerSettings = s => s.PropertyNamingPolicy = null);
var app = bld.Build();
app.UseFastEndpoints()
.UseSwaggerGen();
app.Run();
@dj-nitehawk
dj-nitehawk / Program.cs
Last active September 3, 2023 20:33
Middleware order for Blazor Serverside
using FastEndpoints;
using FastEndpoints.Swagger;
var bld = WebApplication.CreateBuilder(args);
bld.Services.AddFastEndpoints();
bld.Services.AddRazorPages();
bld.Services.AddServerSideBlazor();
bld.Services.SwaggerDocument();
var app = bld.Build();