On Thu, 03 Jul 2014 13:30:05 GMT, Yuriy wrote:
What is a good approach to associate @before function with this of a REST interface?
int someBeforeFunction(HTTPServerRequest req, HTTPServerResponse res) { // I want my REST implementation here! return 0; } interface MyInterface { @before!someBeforeFunction("some"): void myFunction(int some); }
Currently the only approach i see is referencing through an explicit static variable. Is there a better solution?
I've recently written a little (hygienic) mixin
based hack to support member functions and private functions for @before
/@after
for registerWebInterface()
. This isn't yet ported to registerRestInterface()
, though:
class MyWebService {
private {
int m_someInt;
}
// defined in vibe.internal.meta.funcattr
mixin PrivateAccessProxy;
@before!someBeforeFunction("_someint")
void getSomething(int _someint)
{
}
private int someBeforeFunction(HTTPServerRequest req, HTTPServerResponse res)
{
return m_someInt;
}
}
I've opened #708 for this.