- Most of the shared code is in the HttpProtocol class (former Frame) - Virtual calls handle protocol-specific things - Move the ProcessRequestsAsync loop to HttpProtocol - Implement HTTP/1.x request processing in Http1Connection and HTTP/2 in Http2Stream, with Http1Connection<T> and Http2Stream<T> subclassing those classes in order to handle the generic HttpContext parameter - Split MessageBody into Http1MessageBody and Http2MessageBody, with MessageBody containing shared member variables and methods |
||
|---|---|---|
| .vscode | ||
| benchmarks/Kestrel.Performance | ||
| build | ||
| samples | ||
| src | ||
| test | ||
| tools/CodeGenerator | ||
| .appveyor.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| Directory.Build.props | ||
| Directory.Build.targets | ||
| KestrelHttpServer.sln | ||
| LICENSE.txt | ||
| NuGet.config | ||
| NuGetPackageVerifier.json | ||
| README.md | ||
| ToProjectReferences.ps1 | ||
| build.cmd | ||
| build.ps1 | ||
| build.sh | ||
| version.xml | ||
README.md
KestrelHttpServer
This repo contains a cross-platform web server for ASP.NET Core.
This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.
Building from source
To run a complete build on command line only, execute build.cmd or build.sh without arguments.
Before opening this project in Visual Studio or VS Code, execute build.cmd /t:Restore (Windows) or ./build.sh /t:Restore (Linux/macOS).
This will execute only the part of the build script that downloads and initializes a few required build tools and packages.
See developer documentation for more details.
Packages
Kestrel is available as a NuGet package.
| Package name | Stable | Nightly (dev branch) |
|---|---|---|
Microsoft.AspNetCore.Server.Kestrel |
||
Microsoft.AspNetCore.Server.Kestrel.Https |