#include "icespider-routes-search.h" #include #include namespace MirrorSearch { using namespace std::literals; // Implementation classes. // Route name: download // path: /download/{filename} class download : public IceSpider::IRouteHandler { public: download(const IceSpider::Core * core) : IceSpider::IRouteHandler(IceSpider::HttpMethod::GET, "/download/{filename}"), prx0(core->getProxy()), _pi_filename(1) { } void execute(IceSpider::IHttpRequest * request) const { auto _p_filename(request->getURLParam<::std::string>(_pi_filename)); auto _responseModel = prx0->feelingLucky(_p_filename, request->getContext()); if (_responseModel) { request->responseRedirect(*_responseModel, "Mirror found"s); } request->response(404, "No mirror found"); } private: const MirrorSearch::SearchPrxPtr prx0; const unsigned int _pi_filename; }; } // namespace MirrorSearch // Register route handlers. FACTORY(MirrorSearch::download, IceSpider::RouteHandlerFactory); // End generated code.