protected override async Task ServeFile(HttpRequest request)
        {
            string requestedFile = request.Path.Remove(0, virtualRoot.Length).TrimStart('/');
            int    eventId;

            if (!int.TryParse(requestedFile, out eventId))
            {
                request.SetStatusCode(HttpStatusCode.BadRequest);
                return;
            }

            byte[] data = await ReadFile(request, requestedFile + ".png");

            if (data == null)
            {
                // request.SetStatusCode(HttpStatusCode.NotFound);
                // return;
                data = File.ReadAllBytes("app/eventimg/default.png");
            }

            MemoryStream imageStream = new MemoryStream(data);

            Stream resized = MyStamp.ResizeImage(imageStream, width, height);

            byte[] watermarkedData = new byte[resized.Length];
            resized.Read(watermarkedData, 0, (int)resized.Length);

            // Set the appropriate Content-Type
            request.SetContentTypeByExtension(ContentType.Image, "png");

            // If we managed to read the file, first set the headers
            request.SetStatusCode(HttpStatusCode.OK);

            // Then write the file to the response stream
            await request.Write(watermarkedData);
        }