/// <summary>
        /// Initializes a new instance of the <see cref="SourceImagesModule"/> class.
        /// </summary>
        public LegacySourceImagesModule(ISourceImagesRepository repository)
        {
            this.repository = repository;

            this.Get("/book/{id}/image", request => this.GetImage((int)request.id));
            this.Get("/brochure/{id}/image", request => this.GetImage((int)request.id));
            this.Get("/magazine/{mag}/issue/{issue}/image", request => this.GetImage((string)request.mag, (string)request.issue));
            this.Get("/book/{id}/image/small", request => this.GetImage((int)request.id));
            this.Get("/brochure/{id}/image/small", request => this.GetImage((int)request.id));
            this.Get("/magazine/{mag}/issue/{issue}/image/small", request => this.GetImage((string)request.mag, (string)request.issue));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SourceImagesModule"/> class.
        /// </summary>
        public SourceImagesModule(ISourceImagesRepository repository, IImageResizer resizer)
        {
            this.ReturnNotFoundWhenModelIsNullOr(model => model.Length == 0);

            this.repository = repository;
            this.resizer    = resizer;

            this.Get("/book/{id}/image", request => this.GetImage((int)request.id));
            this.Get("/brochure/{id}/image", request => this.GetImage((int)request.id));
            this.Get("/magazine/{mag}/issue/{issue}/image", request => this.GetImage((string)request.mag, (string)request.issue));
            this.Get("/book/{id}/image/small", request => this.GetImage((int)request.id, resize: true));
            this.Get("/brochure/{id}/image/small", request => this.GetImage((int)request.id, resize: true));
            this.Get("/magazine/{mag}/issue/{issue}/image/small", request => this.GetImage((string)request.mag, (string)request.issue, true));
        }