Giter Site home page Giter Site logo

sisk-http / core Goto Github PK

View Code? Open in Web Editor NEW
120.0 3.0 1.0 2.78 MB

Sisk's request and response processor mainframe source code.

Home Page: https://www.sisk-framework.org

License: MIT License

C# 100.00%
http http-server web server-side-events websocket

core's Introduction

Sisk Framework

Discover Sisk | Documentation | Changelogs | Benchmarks

Nuget Nuget Nuget Nuget

Sisk is a web development framework that is lightweight, agnostic, easy, simple, and robust. The perfect choice for your next project.


Documentation

You can get started with Sisk here or build the documentation repository here.

For information about release notes, changelogs and API breaking changes, please refer to changelogs archive.

Installing

You can install the latest release from Nuget packages:

dotnet add package Sisk.HttpServer

Packages

In this repository, you have the source code of:

  • Sisk.HttpServer: the Sisk Framework mainframe and core functions.
  • Sisk.BasicAuth: the basic authentication package which provides helper request handlers for handling authentication.
  • Sisk.ServiceProvider: (obsolete) the Service Providers utility package for porting your Sisk app between environments. This package is indeed to work with version 0.15 and olders, as 0.16 has it implemented on it's core package.

Getting started

The Sisk 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;

class Program
{
    static void Main(string[] args)
    {
        var app = HttpServer.CreateBuilder(5000);

        app.Router.SetRoute(RouteMethod.Get, "/", request =>
        {
            return new HttpResponse("Hello, world!");
        });

        app.Start(); // ๐Ÿš€ app is listening on http://localhost:5000/
    }
}

You can learn more about Sisk on it's website.

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.
  • 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.

Stargazers over time

Stargazers over time

License

The entire Sisk ecosystem is licensed under the MIT License.

Donate

This project has been alive since 2022 and has been actively built and maintained since date. This development involves time, which is an cost, and cost is money. If you want to contribute in addition to contributing to the source code, feel free to contribute a small amount transaction using one of the addresses below.

Your contribution is very valuable. Thanks!

Monero (XMR)
    4441KuSQzwpeHvN1rznuVD39CLYpLCvcmPaFwYtQ5r9Q25dWgv2YwyaDn48szTtWvwaJFKicpQUXNCtbPcw3Qvmn8GtgzDf

Brazilian Pix
    4d93aaa8-23ce-4f83-8cfd-1a1d7d44ecec

core's People

Contributors

cypherpotato avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

devbox10

core's Issues

MAUI REST API + static file server

Hi,

We like to use Sisk in our MAUI project. Did You know about any issues when using Sisk in MAUI on Andorid or iOS platform?

Short description of our current project status:

  • frontend is written React and must be hosted locally (preferable by Sisk)
  • backend is written in ASP.NET Core, and we need to replace it with other HTTP server (preferable by Sisk)
  • on other platforms we use docker, and it works like a charm

ASP.NET Core officially don't have support on MAUI, and we don't want to use hacks to compile it (https://github.com/JamesNK/aspnetcore-maui), because we can encounter some problems in the future, that can be too hard or impossible to fix.

Right now we are looking for some HTTP server, on with we can easily migrate our controllers and this library is looking promising.

Best regards

Any example for static content serving

Hi

I noticed the introduction mentions about one of the purposes of using sisk is for file server. I want to know whether there is any example for how to serve static files. I want to use it to host my vue app.

Regards

gelin yan

Create docs for publishing Sisk in production release

Is there a minimal example of starting Sisk using https protocol? I tried just changing a working configuration from:
new ListeningPort(false, "localhost", 5000)
to
new ListeningPort(true, "localhost", 5000)
And the server starts and doesn't report an error, but I cannot access it. I've tried a few other variants such as
new (ListeningPort("https://localhost:5001") but see the same result. Not sure if I'm missing something obvious?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.