Playing around with pound, I found myself wanting to configure
Service instances based on the type of HTTP request method. I
tried the following, which didn't work (I didn't really expect
it to work, but it gives you an idea of what I'm trying to do):
ListenHTTPS
...
xHTTP 2
# Read-only requests go to varnish.
Service
HeadRequire "Host: svn.snakebite.net"
URL "^(GET|PROPFIND|OPTIONS|REPORT) .+"
BackEnd
... varnish backend
End
End
# Mutable requests bypass varnish and go straight to httpd.
Service
HeadRequire "Host: svn.snakebite.net"
URL
"^(LOCK|UNLOCK|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORTGET)
.+"
BackEnd
... svn httpd backend
End
End
So, that doesn't work, presumably because the URL regex kicks in
after the initial HTTP method.
Is there some other way I could achieve this? If not, what are your
thoughts on adding support for it? I'm thinking something along the
lines of:
ListenHTTPS
...
xHTTP 4
Service
MethodRequire "GET|HEAD"
...
End
Service
MethodDeny "PUT"
...
End
End
(I currently don't have a need for 'MethodDeny', but I can see how
it would be useful -- at the least, it would avoid the need to
hack config.c as mentioned in the Questions? section of the Calomel
pound page: https://calomel.org/pound.html.)
Regards,
Trent.
--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.