public Yoke listen(final @NotNull HttpServer server) {
server.requestHandler(new Handler<HttpServerRequest>() {
@Override
public void handle(HttpServerRequest req) {
// the context map is shared with all middlewares
final YokeRequest request = requestWrapper.wrap(req, new Context(defaultContext), engineMap, store);
// add x-powered-by header is enabled
Boolean poweredBy = request.get("x-powered-by");
if (poweredBy != null && poweredBy) {
request.response().putHeader("x-powered-by", "yoke");