How federin/coresystem works
CoreSystem is a collection of composable .NET infrastructure libraries, rather than one application with a single end-to-end request pipeline. Applications opt into concerns such as HTTP handling, rate limiting, resilience, and observability; the packages also provide independent synchronization, serialization, OpenAPI, and correlation capabilities. The resilience pipeline’s registry, builder, and provider illustrate one internal implementation layer. Relationships are limited to README architecture statements and source-index references; unsampled implementations are represented by their tree paths without inferred wiring.
Main entry points: PayloadSerializer.cs Payload serialization · IObservabilityContributor.cs Observability contracts · ResponseCapture.cs Response capture · RateLimitRejectionHandler.cs Rate limiting
Components 22
HTTP and API
- Correlation middleware
src/Core.Correlation/CorrelationIdMiddleware.cs - Response capture
src/Core.Http/Responses/ResponseCapture.cs - Problem mapping
src/Core.Http.ProblemDetails/Handlers/CoreExceptionHandler.cs - Rate limiting
src/Core.RateLimiting/Internal/RateLimitRejectionHandler.cs - OpenAPI conventions
src/Core.OpenApi/OpenApiDocumentPatcher.cs
Execution infrastructure
- In-process locks
src/Core.Memory/Synchronization/MemoryLockProvider.cs - Distributed locks
src/Core.Redis/Synchronization/RedisLockProvider.cs - Pipeline registry
src/Core.Resilience/Internal/PipelineRegistry.cs - Pipeline builder
src/Core.Resilience/Internal/Builders/PipelineBuilder.cs - Resilience strategies
src/Core.Resilience/Internal/Strategies - Pipeline provider
src/Core.Resilience/Internal/ResiliencePipelineProvider.cs - Pipeline execution
src/Core.Resilience/Internal/ResiliencePipeline.cs
Observability
- Logging and telemetry
src/Core.Observability/ObservabilityDependencyInjection.cs - Health checks
src/Core.Observability/Extensions/HealthCheckEndpointsExtensions.cs
Serialization
- Payload serialization
src/Core.Serialization/PayloadSerializer.cs - JSON serializer
src/Core.Serialization/Json/JsonPayloadSerializer.cs - MessagePack serializer
src/Core.Serialization/MessagePack/MessagePackPayloadSerializer.cs - Protobuf serializer
src/Core.Serialization/Protobuf/ProtobufPayloadSerializer.cs
Shared contracts
- Observability contracts
src/Core.Observability.Abstractions/IObservabilityContributor.cs - HTTP abstractions
src/Core.Http/Abstractions/IResponseCapture.cs - OpenAPI options
src/Core.OpenApi.Abstractions/Options/OpenApiProblemResponsesOptions.cs
Other components
- Application
Connections 16
- Application → Response capture: uses
README.md - Application → Rate limiting: uses
README.md - Application → Pipeline execution: uses
README.md - Application → Logging and telemetry: uses
README.md - Pipeline registry → Pipeline builder: builds pipelines
src/Core.Resilience/Internal/PipelineRegistry.cs - Pipeline builder → Resilience strategies: configures strategies
src/Core.Resilience/Internal/Builders/PipelineBuilder.cs - Pipeline provider → Pipeline registry: resolves from
src/Core.Resilience/Internal/ResiliencePipelineProvider.cs - Problem mapping → HTTP abstractions
- Logging and telemetry → Observability contracts: supports contributors
README.md - Rate limiting → Observability contracts: supports contributors
README.md - Pipeline execution → Observability contracts: supports contributors
README.md - OpenAPI conventions → OpenAPI options: uses options
src/Core.OpenApi/OpenApiDocumentPatcher.cs - Response capture → HTTP abstractions: implements capture
src/Core.Http/Responses/ResponseCapture.cs - Payload serialization → JSON serializer
- Payload serialization → MessagePack serializer
- Payload serialization → Protobuf serializer