public DeliveryModule(IDateTime systemClock, IDeliveryRepository repository, IUserRepository userRepository) : base("/delivery") { _systemClock = systemClock; _repository = repository; _userRepository = userRepository; Get("/get_available", args => Response.AsJson(repository.AllDeliveries().Where(x => x.Status == DeliveryStatus.Available).ToList()) .WithContentType("application/json") .WithStatusCode(HttpStatusCode.OK)); Post("/create/{title}", args => CreateDelivery(args)); Post("/clear_expired}", args => ClearExpired(args)); Post("/take/{user:int}.{delivery:int}", args => TakeDelivery(args)); }