// TEMPORARILY DISABLED: this file references Microsoft.AspNetCore.Mvc.* which collides with the
// downstream Hybrid client (FruitBankHybrid.Web.Client targets net10.0 and breaks on the
// AspNetCore.Mvc namespace). Re-enable when the binary serializer + MVC formatter is moved to
// its own solution / NuGet package. The FrameworkReference Microsoft.AspNetCore.App in
// AyCode.Services.csproj is also disabled in tandem.
/*
using AyCode.Core.Serializers.Binaries;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
namespace AyCode.Services.Mvc;
///
/// MVC builder extensions to register AcBinary input/output formatters.
/// Inserts at index 0 — AcBinary is preferred when the client's Accept header allows.
///
public static class AcBinaryMvcBuilderExtensions
{
///
/// Registers AcBinary input + output formatters on the MVC pipeline. Pass
/// to customize ; otherwise
/// is used.
///
public static IMvcBuilder AddAcBinaryFormatters(this IMvcBuilder builder, Action? configure = null)
{
if (builder is null) throw new ArgumentNullException(nameof(builder));
var options = AcBinarySerializerOptions.Default;
if (configure != null)
{
options = new AcBinarySerializerOptions();
configure(options);
}
builder.Services.Configure(opts =>
{
opts.InputFormatters.Insert(0, new AcBinaryInputFormatter(options));
opts.OutputFormatters.Insert(0, new AcBinaryOutputFormatter(options));
});
return builder;
}
///
public static IMvcCoreBuilder AddAcBinaryFormatters(this IMvcCoreBuilder builder, Action? configure = null)
{
if (builder is null) throw new ArgumentNullException(nameof(builder));
var options = AcBinarySerializerOptions.Default;
if (configure != null)
{
options = new AcBinarySerializerOptions();
configure(options);
}
builder.Services.Configure(opts =>
{
opts.InputFormatters.Insert(0, new AcBinaryInputFormatter(options));
opts.OutputFormatters.Insert(0, new AcBinaryOutputFormatter(options));
});
return builder;
}
}
*/