Sisk.HttpServer
0.15.0.42-beta
Prefix Reserved
See the version list below for details.
dotnet add package Sisk.HttpServer --version 0.15.0.42-beta
NuGet\Install-Package Sisk.HttpServer -Version 0.15.0.42-beta
<PackageReference Include="Sisk.HttpServer" Version="0.15.0.42-beta" />
paket add Sisk.HttpServer --version 0.15.0.42-beta
#r "nuget: Sisk.HttpServer, 0.15.0.42-beta"
// Install Sisk.HttpServer as a Cake Addin #addin nuget:?package=Sisk.HttpServer&version=0.15.0.42-beta&prerelease // Install Sisk.HttpServer as a Cake Tool #tool nuget:?package=Sisk.HttpServer&version=0.15.0.42-beta&prerelease
Sisk is a web development framework that is lightweight, agnostic, easy, simple, and robust. Its core idea is to create a service that runs on the internet and follows the pattern you define. Moreover, Sisk is a framework that adapts to how you want it to work, not the other way around.
Due to its explicit nature, its behavior is predictable. The main differentiator from ASP.NET is that Sisk can be up and running in very few lines of code, avoiding unnecessary configurations, and requiring the minimum setup to get your server working. Additionally, it does not demand any additional .NET SDK packages to develop, as the base package of .NET 6 is sufficient to start your development with Sisk.
It can handle multiple requests asynchronously, provides useful tools to manage and accelerate web development.
using Sisk.Core.Http;
using Sisk.Core.Routing;
namespace myProgram;
public class Program
{
static void Main(string[] args)
{
HttpServer http = HttpServer.Emit(
insecureHttpPort: 5555,
out HttpServerConfiguration serverConfig,
out ListeningHost listeningHost,
out Router mainRouter
);
mainRouter += new Route(RouteMethod.Get, "/", request =>
{
return new HttpResponse(200) { Content = new StringContent("Hello, world!") };
});
http.Start();
Console.WriteLine($"HTTP server is listening on {http.ListeningPrefixes[0]}");
Thread.Sleep(-1);
}
}
Main features
Sisk can do web development the way you want. Create MVC, MVVC, SOLID applications, or any other design pattern you're interested in.
- Lightweight: robust projects tested in small, low-cost, low-performance environments and got good results. The entire Sisk ecosystem is less than 500kb in size!
- Open-source: the entire Sisk ecosystem is open source, and all the libraries and technologies we use must be open source as well. Sisk is entirely distributed under the MIT License, which allows the commercial development.
- Sustainable: you are the one who makes the project, Sisk gives you the tools. Because it is open source, the community (including you) can maintain, fix bugs and improve Sisk over time.
What is Sisk for?
You can create Restful applications, gRPC, Websockets, file servers, GraphQL, Entity Framework, and more - basically whatever you want. Sisk is an extremely modular and sustainable framework. Furthermore, its current development is intense, and there's much more to be added to Sisk, but the focus is to keep it a simple, easy-to-maintain, and enjoyable framework for developers to start projects of any size.
Sisk was also been tested in low-performance environments, like machines with less than 1GB of RAM, and it can process over twenty thousand requests per second. The code, from arrival on the server to the response, is extremely concise, with very few steps before reaching the client.
One of the pillars of developing with Sisk is compatibility with any machine that supports .NET, including those that do not require Native AOT. Some additional implementations are also provided to the Sisk ecosystem, such as porting projects to other machines with configuration files, a view-engine based on LISP, among others, served with packages beyond the Sisk core package. By design, Sisk is built to work with routers, but don't worry, you are not obligated to use them. Sisk will provide you with all the necessary infrastructure to create a secure application that doesn't obfuscate your code.
There's no need for excessive ceremony, fluff, or spending hours on boring documentation. Sisk is simple and elegant in its syntax, facilitating the development of fast and complex systems.
But why not just use ASP.NET?
ASP.NET is an great and well-established web framework, and many features present in Sisk were inspired by it. However, Sisk focuses on simpler and more performant development, eliminating the need for installing additional components in your system, project, editor, etc. Sisk was designed to be straightforward and robust, enabling the creation of anything you desire.
Moreover, its development model allows you to choose how you want your development to be. You handle requests in a simple, efficient, explicit, and fast manner. Knowledge and understanding of HTTP are required if you want to do everything manually, and even then, Sisk can greatly simplify things with all the functions it provides in its core package.
Getting started with Sisk is easy. Those who already have experience with web development typically learn Sisk in one or two days. Our documentation is� let's say� very well-documented. You can find everything you need here. Additionally, our source code is open, so you have access to it.
Documentation
You can get started here or access the documentation repository here.
Installation
You can install the latest release from Nuget packages:
PM> NuGet\Install-Package Sisk.HttpServer
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Sisk.HttpServer:
Package | Downloads |
---|---|
Sisk.ServiceProvider
This package includes tools for easily porting your Sisk service. |
|
Sisk.IniConfiguration
This package provides an INI configuration parser for the Sisk Framework and other .NET projects. |
|
Sisk.BasicAuth
This package includes an helper for embeding basic authentication in your applications made with Sisk. |
|
Sisk.SslProxy
This package provides an experimental SSL proxy for the Sisk Framework and other .NET projects. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Sisk.HttpServer:
Repository | Stars |
---|---|
sisk-http/core
Sisk's request and response processor mainframe source code.
|
Version | Downloads | Last updated | |
---|---|---|---|
1.3.0 | 105 | 11/13/2024 | |
1.3.0-rc5 | 85 | 11/10/2024 | |
1.3.0-rc4 | 65 | 11/9/2024 | |
1.3.0-rc2 | 74 | 11/5/2024 | |
1.3.0-rc | 65 | 11/5/2024 | |
1.2.0 | 118 | 10/29/2024 | |
1.1.1 | 341 | 10/17/2024 | |
1.1.0 | 220 | 9/22/2024 | |
1.0.4 | 68 | 10/17/2024 | |
1.0.3 | 128 | 9/13/2024 | |
1.0.2 | 147 | 9/1/2024 | |
1.0.1 | 146 | 8/28/2024 | |
1.0.0 | 157 | 8/16/2024 | |
1.0.0-rc8 | 133 | 8/13/2024 | |
1.0.0-rc7 | 86 | 8/1/2024 | |
1.0.0-rc6 | 68 | 7/24/2024 | |
1.0.0-rc4 | 81 | 7/10/2024 | |
1.0.0-rc3 | 71 | 7/4/2024 | |
1.0.0-rc2 | 92 | 6/24/2024 | |
1.0.0-rc1 | 101 | 6/7/2024 | |
0.16.2 | 544 | 4/28/2024 | |
0.16.2-beta4 | 107 | 4/24/2024 | |
0.16.1 | 177 | 2/26/2024 | |
0.16.0 | 1,721 | 1/9/2024 | |
0.16.0-rc-5 | 255 | 1/3/2024 | |
0.16.0-rc-4 | 128 | 12/21/2023 | |
0.16.0-rc-3 | 139 | 12/7/2023 | |
0.16.0-rc-2 | 141 | 11/25/2023 | |
0.16.0-rc-1 | 120 | 11/13/2023 | |
0.15.3.1 | 110 | 2/19/2024 | |
0.15.3 | 213 | 11/25/2023 | |
0.15.2 | 645 | 10/30/2023 | |
0.15.1 | 202 | 9/30/2023 | |
0.15.0.47 | 231 | 8/30/2023 | |
0.15.0.47-rc | 64 | 8/25/2023 | |
0.15.0.46-beta | 78 | 8/22/2023 | |
0.15.0.42-beta | 160 | 8/16/2023 | |
0.15.0.6-beta | 169 | 8/9/2023 | |
0.15.0-beta | 167 | 7/20/2023 | |
0.14.0.1 | 227 | 7/18/2023 | |
0.14.0 | 187 | 7/17/2023 | |
0.13.1.1 | 194 | 6/10/2023 | |
0.13.1 | 195 | 6/8/2023 | |
0.13.0 | 207 | 5/20/2023 | |
0.12.1 | 181 | 5/2/2023 | |
0.12.0 | 199 | 4/29/2023 | |
0.11.1 | 193 | 4/9/2023 | |
0.11.0 | 251 | 3/30/2023 | |
0.10.1 | 239 | 3/21/2023 | |
0.10.0 | 229 | 3/15/2023 | |
0.9.1 | 268 | 3/2/2023 | |
0.9.0 | 254 | 2/22/2023 | |
0.8.9 | 255 | 2/14/2023 | |
0.8.8 | 274 | 2/8/2023 | |
0.8.6 | 305 | 2/2/2023 | |
0.8.5 | 292 | 2/1/2023 | |
0.8.4 | 310 | 1/31/2023 | |
0.8.3 | 305 | 1/26/2023 | |
0.8.2 | 339 | 1/10/2023 | |
0.8.1 | 318 | 1/7/2023 | |
0.8.0 | 324 | 1/6/2023 | |
0.7.5 | 298 | 12/28/2022 | |
0.7.4 | 329 | 12/27/2022 | |
0.7.3 | 306 | 12/26/2022 | |
0.7.2 | 323 | 12/22/2022 | |
0.7.1 | 313 | 12/21/2022 | |
0.7.0 | 330 | 12/21/2022 | |
0.6.4 | 301 | 12/13/2022 | |
0.6.3 | 323 | 12/11/2022 | |
0.6.2 | 333 | 12/11/2022 | |
0.6.1 | 305 | 12/10/2022 | |
0.6.0 | 318 | 12/9/2022 | |
0.5.0 | 362 | 11/16/2022 | |
0.4.8 | 376 | 10/30/2022 | |
0.4.6 | 390 | 10/27/2022 | |
0.4.1 | 410 | 10/19/2022 | |
0.4.0 | 398 | 10/18/2022 | |
0.3.1 | 424 | 10/15/2022 | |
0.3.0 | 433 | 10/15/2022 |