ci

Fastro

Fast, simple, minimalist web framework for deno.

import { Fastro } from "https://deno.land/x/fastro/mod.ts";

const server = new Fastro();

server.get("/", (req) => req.send("root"));

await server.listen({ port: 8000 });

How to use

These modules are tagged in accordance with Fastro releases. So, for example, the v0.1.0 tag is guaranteed to work with fastro v0.1.0. You can link to v0.1.0 using the URL https://deno.land/x/fastro@v0.1.0/mod.ts. Not specifying a tag will link to the master branch.

Available route shorthand declaration

  • server.get(url, handler)
  • server.post(url, handler)
  • server.put(url, handler)
  • server.head(url, handler)
  • server.delete(url, handler)
  • server.options(url, handler)
  • server.patch(url, handler)

Create a plugin

For example you want to get a payload of all post method or want to get the url parameters of all get method or want to get headers of all types of requests -- instead of defining it in each handler, you can make a plugin.

function plugin(req: FastroRequest) {
  console.log(req.parameter);
}
server.use(plugin)

Benchmarks

If performance is important to you, here are the benchmark results:

Framework Version Router? Average Req (1) Average Req (2) Average Req (3) Average Req (4)
Abc 1.0.0-rc6 1693 1591.4 2118.1 1593.4
Deno_http 0.52.0 1887.6 1644.8 2159.31 1751.7
Express 4.17 1642.4 1618 1771.8 1638.7
Fastify 2.14.1 1833.1 1703.3 2267 1850
Fastro 0.2.8 1916.5 1564.4 2132.5 1819.3
Oak 4.0.0 1637.4 1516.7 2037.3 1707.5

Check this to see the method and benchmark code.

Examples

You can see above basic example code here: hello.ts

Check the following codes to find out how to: