GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - machframework/mach: A modern C++20 web framework for building fast, robust web applications with minimal APIs, controllers, dependency injection, and more.

BranchesTags
Open more actions menu

Latest commit

 

History

544 Commits
544 Commits

Folders and files

NameName
Last commit message
Last commit date
benchmarks
benchmarks
 
 
cmake
cmake
 
 
examples
examples
 
 
include/mach
include/mach
 
 
packaging/windows
packaging/windows
 
 
src
src
 
 
tests
tests
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
CMakeSettings.json
CMakeSettings.json
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
vcpkg.json
vcpkg.json
 
 

Repository files navigation

Mach

C++20 GitHub Release License

A modern C++ web framework.

Mach is a fast, lightweight web framework for building HTTP APIs in modern C++. It provides routing, controllers, request binding, validation, middleware, security utilities, configuration, logging, and more through a clean, type-safe API.

Installation

Windows

Download and run the latest Mach .msi installer.

Mach v1.0 supports Windows with MSVC.

To build Mach applications, you will need:

  • CMake
  • MSVC C++ Build Tools
  • Windows SDK

The Mach CLI also requires the Microsoft Visual C++ Redistributable.

Ubuntu

Install the latest Mach .deb package:

sudo apt install ./mach-1.0.0-amd64.deb

Mach v1.0 supports Ubuntu with GCC.

To build Mach applications, install the required development tools:

sudo apt update
sudo apt install build-essential cmake

See the Installation Guide for detailed installation instructions.

Quick Start

Create a new Mach project:

mach new hello-mach
cd hello-mach

Build and run it:

mach run

A minimal Mach application looks like this:

#include <mach/mach.hpp>

int main() {
    mach::AppBuilder builder;
    auto app = builder.build();

    app.mapGet("/", [] {
        return mach::ok("Hello from Mach!");
    });

    return app.run();
}

Features

  • Fast HTTP server built for modern C++
  • Minimal APIs and controllers
  • Route parameters and query parameters
  • JSON request binding and serialization
  • Declarative request validation
  • Middleware
  • CORS and CSRF protection
  • Centralized error handling
  • Application configuration
  • Built-in logging
  • CMake integration
  • Command-line tooling for creating, building, and running projects

Platforms

Platform Toolchain Support
Windows MSVC Supported
Ubuntu GCC Supported

Additional platforms and toolchains may be supported in future releases.

Documentation

Full documentation, guides, tutorials, and the API reference are available at:

https://machframework.dev

Benchmarks

Mach is designed to provide high HTTP throughput while keeping its API simple and expressive.

See the benchmarks for results and methodology.

License

Mach is licensed under the MIT License.

About

A modern C++20 web framework for building fast, robust web applications with minimal APIs, controllers, dependency injection, and more.

machframework.dev/

Topics

backendboost-asioboost-beastcmakecppcpp20cross-platformhttpmachrest-apiweb-developmentweb-framework

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

8 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.