0.0.7 • Published 5 years ago

agamemnon v0.0.7

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Agamemnon

This project is inspired by koa.js, and it can just be used for study purpose, not for business.

Agamemnon is an expressive HTTP middleware framework for node.js to make web applications and APIs more enjoyable to write. Agamemnon's middleware stack flows in a stack-like manner, allowing you to perform actions downstream then filter and manipulate the response upstream.

Agamemnon is not bundled with any middleware.

Installation

Agamemnon requires node v7.6.0 or higher for ES2015 and async function support.

$ npm install agamenon

Say Hello to Agamemnon

import agamenon from 'agamenon';
const app = new agamenon();

// response
app.use(async ctx => {
  ctx.body = 'Hello Agamemnon';
});

app.listen(3000);

Middleware

Agamemnon is a middleware framework that can take two different kinds of functions as middleware:

  • async function
  • Common function

async functions (node v7.6+)

app.use(async (ctx, next) => {
  const start = Date.now();
  await next();
  const ms = Date.now() - start;
  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});

Common function

// Middleware normally takes two parameters (ctx, next), ctx is the context for one request,
// next is a function that is invoked to execute the downstream middleware. It returns a Promise with a then function for running code after completion.

app.use((ctx, next) => {
  const start = Date.now();
  return next().then(() => {
    const ms = Date.now() - start;
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  });
});
0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago