snappi

a simple web framework

Usage no npm install needed!

<script type="module">
  import snappi from 'https://cdn.skypack.dev/snappi';
</script>

README

Snappi

A web framework that is simple and aims to be fast

Supports async/await and ES6 features

Goals

  • Stay updated with latest JS features
  • Always improving performance
  • Add useful features that aren't expensive

Routing explanation

Snappi has a very simple routing pipe just like popular frameworks, ie: express

use -> route handlers

Example

const Snappi = require("Snappi");

const server = new Snappi();

server.use(async (req, res) => {
  req.test = "hello";
});

server.use((req, res, next) => {
  console.log("yay :^)");
});

server.use((req, res) => {
  console.log(req.test); //would return "hello"
});

server.route("GET", "/", (req, res) => {
  res.end("Hello");
});

server.get("/hello", (req, res) => {
  res.end("hello buddy!")
})

server.listen(80);

Both async and regular functions work, so do (req, res, next) for some express plugin/middleware support

Additional features

Visit /tests/ to see additional tests

You're able to chain functions or pass objects to a route

server.route(
  "GET",
  "/",
  { test: "hello" },
  (req, res) => {
    console.log(req.test); //would return hello
  },
  (req, res) => {
    res.end("hey");
    //chaining works as such
  }
);