Skip to content

LazyPanda07/WebFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebFramework

  • C++ HTTP/HTTPS server
  • Multi language API
  • Server can be launched from C++, C, Python, C#, Flutter
  • Endpoints can be served from C++, C, Python, C#

Getting Started Build

Start by cloning the repository

git clone https://github.com/LazyPanda07/WebFramework.git --recursive
Language WebFramework API Executors API Windows Linux Linux AArch64 Android AArch64
C++
C
C#
Python
Flutter

Build Requirements

  • CMake >= 3.27.0
  • Compiler with C++20 support(MSVC, GCC, Clang)
  • With Python embed requires Python 3.14
  • With .NET embed requires .NET 8.0

Windows

  • Windows >= 10

Linux

  • uuid-dev

Build

  • Default build(-DWITH_STACKTRACE=OFF, -DWITH_PYTHON_EXECUTORS=ON, -DWITH_DOT_NET_EXECUTORS=ON)
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../WebFrameworkLibrary ..
cmake --build . -j --config Release
cmake --install . --config Release
  • Default build with stacktrace(-DWITH_STACKTRACE=ON, -DWITH_PYTHON_EXECUTORS=ON, -DWITH_DOT_NET_EXECUTORS=ON)
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../WebFrameworkLibrary -DWITH_STACKTRACE=ON ..
cmake --build . -j --config Release
cmake --install . --config Release
  • Build with Python embed(-DWITH_STACKTRACE=OFF, -DWITH_PYTHON_EXECUTORS=ON, -DWITH_DOT_NET_EXECUTORS=OFF)
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../WebFrameworkLibrary -DWITH_PYTHON_EXECUTORS=ON ..
cmake --build . -j --config Release
cmake --install . --config Release
  • Build with .NET embed(-DWITH_STACKTRACE=OFF, -DWITH_PYTHON_EXECUTORS=OFF, -DWITH_DOT_NET_EXECUTORS=ON)
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../WebFrameworkLibrary -DWITH_DOT_NET_EXECUTORS=ON ..
cmake --build . -j --config Release
cmake --install . --config Release

Samples

Samples available for Windows and Linux in C/C++, C# .NET 8.0, Python

Getting Started Application

Simple example of web application with WebFramework

Project Templates

You can use this repositories as templates with cookiecutter


NOTE

.NET 8.0 requires hostfxr.dll in PATH for Windows and libhostfxr.so in LD_LIBRARY_PATH for Linux