/**
 *
 *  [[filename]].h
 *
 */

#pragma once

#include <drogon/HttpFilter.h>
using namespace drogon;
<%c++
auto namespaceVector=@@.get<std::vector<std::string>>("namespaceVector");
if(namespaceVector.empty())
$$<<"\n";
for(auto &namespaceName:namespaceVector){%>
namespace {%namespaceName%}

{
<%c++}
$$<<"\n";%>
class [[className]] : public HttpFilter<[[className]]>
{
  public:
    [[className]]() {}
    void doFilter(const HttpRequestPtr &req,
                  FilterCallback &&fcb,
                  FilterChainCallback &&fccb) override;
};

<%c++for(size_t i=0;i<namespaceVector.size();i++){%>
}
<%c++}%>