├── .dockerignore ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .idea └── .idea.Reaper │ └── .idea │ ├── .gitignore │ ├── indexLayout.xml │ └── vcs.xml ├── LICENSE ├── README.md ├── Reaper.sln ├── Reaper.sln.DotSettings.user ├── benchmarks ├── BenchmarkWeb │ ├── BenchmarkWeb.csproj │ ├── Carter │ │ ├── AnotherTypicalCarterModule.cs │ │ ├── CarterModule.cs │ │ └── TypicalCarterModule.cs │ ├── Controllers │ │ ├── AnotherTypicalController.cs │ │ ├── TestController.cs │ │ └── TypicalController.cs │ ├── Dtos │ │ ├── SampleRequest.cs │ │ └── SampleResponse.cs │ ├── FastEndpoints │ │ ├── AnotherTypicalEndpoints.cs │ │ ├── TestEndpoint.cs │ │ └── TypicalEndpoints.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── README.md │ ├── Reaper │ │ ├── AnotherTypicalEndpoints.cs │ │ ├── TestEndpoint.cs │ │ └── TypicalEndpoints.cs │ ├── Services │ │ └── GetMeAStringService.cs │ ├── appsettings.json │ ├── carter.dockerfile │ ├── controllers.dockerfile │ ├── fastendpoints.dockerfile │ ├── minimal-aot.dockerfile │ ├── minimal.dockerfile │ ├── reaper-aot.dockerfile │ └── reaper.dockerfile └── Benchmarker │ ├── Benchmarker.csproj │ ├── DockerStats.cs │ ├── Paths.cs │ ├── Program.cs │ ├── README.md │ ├── TestRunner.cs │ ├── results-first-net9-run.csv │ ├── results-last-net8-run.csv │ └── wrk.dockerfile ├── src ├── Reaper.SourceGenerator │ ├── EndpointMapper.cs │ ├── Internal │ │ ├── CodeWriter.cs │ │ └── GeneratorStatics.cs │ ├── IsExternalInit.cs │ ├── JsonContextGenerator │ │ ├── JsonContextGenerator.cs │ │ └── JsonSourceGenerationSupport.cs │ ├── MapperInterceptor │ │ ├── ExtensionMethods.cs │ │ └── MapperInterceptorGenerator.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Reaper.SourceGenerator.csproj │ ├── ReaperEndpoints │ │ ├── ExtensionMethods.cs │ │ ├── ReaperDefinition.cs │ │ └── ReaperValidatorDefinition.cs │ ├── Resources │ │ ├── System.Text.Json.SourceGeneration.Reaper.dll │ │ └── System.Text.Json.SourceGeneration.Reaper.txt │ ├── RoslynHelpers │ │ ├── ExtensionMethods.cs │ │ └── WellKnownTypes.cs │ └── ServicesInterceptor │ │ ├── ExtensionMethods.cs │ │ └── ServicesInterceptorGenerator.cs ├── Reaper.Validation │ ├── Context │ │ └── FluentValidationContext.cs │ ├── Handlers │ │ └── FluentValidationFailureHandler.cs │ ├── Reaper.Validation.csproj │ ├── ReaperValidationJsonContext.cs │ ├── RequestValidator.cs │ ├── Responses │ │ └── ValidationProblemDetails.cs │ └── WebApplicationBuilderExtensions.cs └── Reaper │ ├── Attributes │ ├── ReaperForceHandlerAttribute.cs │ ├── ReaperRouteAttribute.cs │ └── ReaperScopedAttribute.cs │ ├── Context │ ├── IReaperExecutionContext.cs │ ├── IReaperExecutionContextProvider.cs │ ├── ReaperExecutionContext.cs │ └── ReaperExecutionContextProvider.cs │ ├── EndpointMapper │ ├── ReaperEndpointDefinition.cs │ └── ReaperMapper.cs │ ├── Handler │ └── ReaperEndpointHandler.cs │ ├── Handlers │ ├── DefaultValidationFailureHandler.cs │ └── IValidationFailureHandler.cs │ ├── Meta.cs │ ├── Middleware │ ├── ReaperExecutionContextMiddleware.cs │ └── ReaperHandlerExecutorMiddleware.cs │ ├── Reaper.csproj │ ├── ReaperEndpoint.cs │ ├── ReaperOptions.cs │ ├── RequestDelegateSupport │ ├── JsonBodyResolver.cs │ ├── LogOrThrowExceptionHelper.cs │ ├── RequestHelpers.cs │ └── ResponseHelpers.cs │ ├── Response │ ├── ReaperEndpointExtensions.cs │ └── ReaperResponse.cs │ ├── Validation │ ├── Context │ │ └── ReaperValidationContext.cs │ ├── IReaperValidationContext.cs │ └── RequestValidationFailureType.cs │ ├── WebApplicationBuilderExtensions.cs │ └── WebApplicationExtensions.cs └── tests ├── IntegrationTests ├── AotTests │ ├── AotCollection.cs │ ├── AotTestFixture.cs │ ├── ReaperEndpointRRTests.cs │ ├── ReaperEndpointRXTests.cs │ ├── ReaperEndpointTests.cs │ └── ReaperEndpointXRTests.cs ├── GlobalUsings.cs ├── IntegrationTests.csproj ├── Tests │ ├── ReaperEndpointRRTests.cs │ ├── ReaperEndpointRXTests.cs │ ├── ReaperEndpointTests.cs │ └── ReaperEndpointXRTests.cs └── WafTests │ ├── ReaperEndpointRRTests.cs │ ├── ReaperEndpointRXTests.cs │ ├── ReaperEndpointTests.cs │ ├── ReaperEndpointXRTests.cs │ ├── WafCollection.cs │ └── WafTextFixture.cs ├── Reaper.TestWeb ├── .gitignore ├── Dockerfile ├── Endpoints │ ├── ReaperEndpoint │ │ ├── NoneEndpoint.cs │ │ ├── ScopedIncrementorEndpoint.cs │ │ ├── SingletonIncrementorEndpoint.cs │ │ ├── StatusCodeEndpoints.cs │ │ └── StringWriteEndpoint.cs │ ├── ReaperEndpointRX │ │ ├── ReflectorWriteEndpoint.cs │ │ └── ValidatorWriteEndpoint.cs │ ├── ReaperEndpointXR │ │ ├── JsonEndpoint.cs │ │ ├── ServiceScopedStringEndpoint.cs │ │ └── StringEndpoint.cs │ └── ReaperEndpoint`ReqResp │ │ ├── ConstrainedRouteEndpoint.cs │ │ ├── FromSourcesEndpoint.cs │ │ ├── OptionalFromSourcesEndpoint.cs │ │ └── ReflectorEndpoint.cs ├── GlobalUsings.cs ├── HelloWorldProvider.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Reaper.TestWeb.csproj ├── ReaperEndpoint.http ├── ReaperEndpointRX.http └── appsettings.json └── UnitTests ├── GlobalUsings.cs ├── Resources └── EndpointHarness.cs ├── StatusCodeHelperTests.cs └── UnitTests.csproj /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | obj/ 3 | /packages/ 4 | riderModule.iml 5 | /_ReSharper.Caches/ -------------------------------------------------------------------------------- /.idea/.idea.Reaper/.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/.idea/.idea.Reaper/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/.idea.Reaper/.idea/indexLayout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/.idea/.idea.Reaper/.idea/indexLayout.xml -------------------------------------------------------------------------------- /.idea/.idea.Reaper/.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/.idea/.idea.Reaper/.idea/vcs.xml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/README.md -------------------------------------------------------------------------------- /Reaper.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/Reaper.sln -------------------------------------------------------------------------------- /Reaper.sln.DotSettings.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/Reaper.sln.DotSettings.user -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/BenchmarkWeb.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/BenchmarkWeb.csproj -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Carter/AnotherTypicalCarterModule.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Carter/AnotherTypicalCarterModule.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Carter/CarterModule.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Carter/CarterModule.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Carter/TypicalCarterModule.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Carter/TypicalCarterModule.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Controllers/AnotherTypicalController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Controllers/AnotherTypicalController.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Controllers/TestController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Controllers/TestController.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Controllers/TypicalController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Controllers/TypicalController.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Dtos/SampleRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Dtos/SampleRequest.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Dtos/SampleResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Dtos/SampleResponse.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/FastEndpoints/AnotherTypicalEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/FastEndpoints/AnotherTypicalEndpoints.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/FastEndpoints/TestEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/FastEndpoints/TestEndpoint.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/FastEndpoints/TypicalEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/FastEndpoints/TypicalEndpoints.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Program.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Properties/launchSettings.json -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/README.md -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Reaper/AnotherTypicalEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Reaper/AnotherTypicalEndpoints.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Reaper/TestEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Reaper/TestEndpoint.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Reaper/TypicalEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Reaper/TypicalEndpoints.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/Services/GetMeAStringService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/Services/GetMeAStringService.cs -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/appsettings.json -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/carter.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/carter.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/controllers.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/controllers.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/fastendpoints.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/fastendpoints.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/minimal-aot.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/minimal-aot.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/minimal.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/minimal.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/reaper-aot.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/reaper-aot.dockerfile -------------------------------------------------------------------------------- /benchmarks/BenchmarkWeb/reaper.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/BenchmarkWeb/reaper.dockerfile -------------------------------------------------------------------------------- /benchmarks/Benchmarker/Benchmarker.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/Benchmarker.csproj -------------------------------------------------------------------------------- /benchmarks/Benchmarker/DockerStats.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/DockerStats.cs -------------------------------------------------------------------------------- /benchmarks/Benchmarker/Paths.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/Paths.cs -------------------------------------------------------------------------------- /benchmarks/Benchmarker/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/Program.cs -------------------------------------------------------------------------------- /benchmarks/Benchmarker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/README.md -------------------------------------------------------------------------------- /benchmarks/Benchmarker/TestRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/TestRunner.cs -------------------------------------------------------------------------------- /benchmarks/Benchmarker/results-first-net9-run.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/results-first-net9-run.csv -------------------------------------------------------------------------------- /benchmarks/Benchmarker/results-last-net8-run.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/results-last-net8-run.csv -------------------------------------------------------------------------------- /benchmarks/Benchmarker/wrk.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/benchmarks/Benchmarker/wrk.dockerfile -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/EndpointMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/EndpointMapper.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Internal/CodeWriter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Internal/CodeWriter.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Internal/GeneratorStatics.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Internal/GeneratorStatics.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/IsExternalInit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/IsExternalInit.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/JsonContextGenerator/JsonContextGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/JsonContextGenerator/JsonContextGenerator.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/JsonContextGenerator/JsonSourceGenerationSupport.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/JsonContextGenerator/JsonSourceGenerationSupport.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/MapperInterceptor/ExtensionMethods.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/MapperInterceptor/ExtensionMethods.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/MapperInterceptor/MapperInterceptorGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/MapperInterceptor/MapperInterceptorGenerator.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Reaper.SourceGenerator.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Reaper.SourceGenerator.csproj -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/ReaperEndpoints/ExtensionMethods.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/ReaperEndpoints/ExtensionMethods.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/ReaperEndpoints/ReaperDefinition.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/ReaperEndpoints/ReaperDefinition.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/ReaperEndpoints/ReaperValidatorDefinition.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/ReaperEndpoints/ReaperValidatorDefinition.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Resources/System.Text.Json.SourceGeneration.Reaper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Resources/System.Text.Json.SourceGeneration.Reaper.dll -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/Resources/System.Text.Json.SourceGeneration.Reaper.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/Resources/System.Text.Json.SourceGeneration.Reaper.txt -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/RoslynHelpers/ExtensionMethods.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/RoslynHelpers/ExtensionMethods.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/RoslynHelpers/WellKnownTypes.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/RoslynHelpers/WellKnownTypes.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/ServicesInterceptor/ExtensionMethods.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/ServicesInterceptor/ExtensionMethods.cs -------------------------------------------------------------------------------- /src/Reaper.SourceGenerator/ServicesInterceptor/ServicesInterceptorGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.SourceGenerator/ServicesInterceptor/ServicesInterceptorGenerator.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/Context/FluentValidationContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/Context/FluentValidationContext.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/Handlers/FluentValidationFailureHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/Handlers/FluentValidationFailureHandler.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/Reaper.Validation.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/Reaper.Validation.csproj -------------------------------------------------------------------------------- /src/Reaper.Validation/ReaperValidationJsonContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/ReaperValidationJsonContext.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/RequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/RequestValidator.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/Responses/ValidationProblemDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/Responses/ValidationProblemDetails.cs -------------------------------------------------------------------------------- /src/Reaper.Validation/WebApplicationBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper.Validation/WebApplicationBuilderExtensions.cs -------------------------------------------------------------------------------- /src/Reaper/Attributes/ReaperForceHandlerAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Attributes/ReaperForceHandlerAttribute.cs -------------------------------------------------------------------------------- /src/Reaper/Attributes/ReaperRouteAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Attributes/ReaperRouteAttribute.cs -------------------------------------------------------------------------------- /src/Reaper/Attributes/ReaperScopedAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Attributes/ReaperScopedAttribute.cs -------------------------------------------------------------------------------- /src/Reaper/Context/IReaperExecutionContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Context/IReaperExecutionContext.cs -------------------------------------------------------------------------------- /src/Reaper/Context/IReaperExecutionContextProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Context/IReaperExecutionContextProvider.cs -------------------------------------------------------------------------------- /src/Reaper/Context/ReaperExecutionContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Context/ReaperExecutionContext.cs -------------------------------------------------------------------------------- /src/Reaper/Context/ReaperExecutionContextProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Context/ReaperExecutionContextProvider.cs -------------------------------------------------------------------------------- /src/Reaper/EndpointMapper/ReaperEndpointDefinition.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/EndpointMapper/ReaperEndpointDefinition.cs -------------------------------------------------------------------------------- /src/Reaper/EndpointMapper/ReaperMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/EndpointMapper/ReaperMapper.cs -------------------------------------------------------------------------------- /src/Reaper/Handler/ReaperEndpointHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Handler/ReaperEndpointHandler.cs -------------------------------------------------------------------------------- /src/Reaper/Handlers/DefaultValidationFailureHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Handlers/DefaultValidationFailureHandler.cs -------------------------------------------------------------------------------- /src/Reaper/Handlers/IValidationFailureHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Handlers/IValidationFailureHandler.cs -------------------------------------------------------------------------------- /src/Reaper/Meta.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Meta.cs -------------------------------------------------------------------------------- /src/Reaper/Middleware/ReaperExecutionContextMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Middleware/ReaperExecutionContextMiddleware.cs -------------------------------------------------------------------------------- /src/Reaper/Middleware/ReaperHandlerExecutorMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Middleware/ReaperHandlerExecutorMiddleware.cs -------------------------------------------------------------------------------- /src/Reaper/Reaper.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Reaper.csproj -------------------------------------------------------------------------------- /src/Reaper/ReaperEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/ReaperEndpoint.cs -------------------------------------------------------------------------------- /src/Reaper/ReaperOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/ReaperOptions.cs -------------------------------------------------------------------------------- /src/Reaper/RequestDelegateSupport/JsonBodyResolver.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/RequestDelegateSupport/JsonBodyResolver.cs -------------------------------------------------------------------------------- /src/Reaper/RequestDelegateSupport/LogOrThrowExceptionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/RequestDelegateSupport/LogOrThrowExceptionHelper.cs -------------------------------------------------------------------------------- /src/Reaper/RequestDelegateSupport/RequestHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/RequestDelegateSupport/RequestHelpers.cs -------------------------------------------------------------------------------- /src/Reaper/RequestDelegateSupport/ResponseHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/RequestDelegateSupport/ResponseHelpers.cs -------------------------------------------------------------------------------- /src/Reaper/Response/ReaperEndpointExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Response/ReaperEndpointExtensions.cs -------------------------------------------------------------------------------- /src/Reaper/Response/ReaperResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Response/ReaperResponse.cs -------------------------------------------------------------------------------- /src/Reaper/Validation/Context/ReaperValidationContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Validation/Context/ReaperValidationContext.cs -------------------------------------------------------------------------------- /src/Reaper/Validation/IReaperValidationContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Validation/IReaperValidationContext.cs -------------------------------------------------------------------------------- /src/Reaper/Validation/RequestValidationFailureType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/Validation/RequestValidationFailureType.cs -------------------------------------------------------------------------------- /src/Reaper/WebApplicationBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/WebApplicationBuilderExtensions.cs -------------------------------------------------------------------------------- /src/Reaper/WebApplicationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/src/Reaper/WebApplicationExtensions.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/AotCollection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/AotCollection.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/AotTestFixture.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/AotTestFixture.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/ReaperEndpointRRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/ReaperEndpointRRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/ReaperEndpointRXTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/ReaperEndpointRXTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/ReaperEndpointTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/ReaperEndpointTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/AotTests/ReaperEndpointXRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/AotTests/ReaperEndpointXRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /tests/IntegrationTests/IntegrationTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/IntegrationTests.csproj -------------------------------------------------------------------------------- /tests/IntegrationTests/Tests/ReaperEndpointRRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/Tests/ReaperEndpointRRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/Tests/ReaperEndpointRXTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/Tests/ReaperEndpointRXTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/Tests/ReaperEndpointTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/Tests/ReaperEndpointTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/Tests/ReaperEndpointXRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/Tests/ReaperEndpointXRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/ReaperEndpointRRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/ReaperEndpointRRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/ReaperEndpointRXTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/ReaperEndpointRXTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/ReaperEndpointTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/ReaperEndpointTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/ReaperEndpointXRTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/ReaperEndpointXRTests.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/WafCollection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/WafCollection.cs -------------------------------------------------------------------------------- /tests/IntegrationTests/WafTests/WafTextFixture.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/IntegrationTests/WafTests/WafTextFixture.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/.gitignore: -------------------------------------------------------------------------------- 1 | Generated/ -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Dockerfile -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/NoneEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/NoneEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/ScopedIncrementorEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/ScopedIncrementorEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/SingletonIncrementorEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/SingletonIncrementorEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/StatusCodeEndpoints.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/StatusCodeEndpoints.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/StringWriteEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint/StringWriteEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpointRX/ReflectorWriteEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpointRX/ReflectorWriteEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpointRX/ValidatorWriteEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpointRX/ValidatorWriteEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/JsonEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/JsonEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/ServiceScopedStringEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/ServiceScopedStringEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/StringEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpointXR/StringEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/ConstrainedRouteEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/ConstrainedRouteEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/FromSourcesEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/FromSourcesEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/OptionalFromSourcesEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/OptionalFromSourcesEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/ReflectorEndpoint.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Endpoints/ReaperEndpoint`ReqResp/ReflectorEndpoint.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Reaper.Attributes; -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/HelloWorldProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/HelloWorldProvider.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Program.cs -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Properties/launchSettings.json -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/Reaper.TestWeb.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/Reaper.TestWeb.csproj -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/ReaperEndpoint.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/ReaperEndpoint.http -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/ReaperEndpointRX.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/ReaperEndpointRX.http -------------------------------------------------------------------------------- /tests/Reaper.TestWeb/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/Reaper.TestWeb/appsettings.json -------------------------------------------------------------------------------- /tests/UnitTests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /tests/UnitTests/Resources/EndpointHarness.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/UnitTests/Resources/EndpointHarness.cs -------------------------------------------------------------------------------- /tests/UnitTests/StatusCodeHelperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/UnitTests/StatusCodeHelperTests.cs -------------------------------------------------------------------------------- /tests/UnitTests/UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Reaper-Net/Reaper/HEAD/tests/UnitTests/UnitTests.csproj --------------------------------------------------------------------------------