feat(middleware): add express middleware