Backend selection based on integer value in request?
Paul A. Procacci
pprocacci at datapipe.com
Wed Oct 10 02:58:40 CEST 2012
You probably want something like the following (untested):
######################################
if(req.url ~ "/\d+\.jpg$"){
set req.http.X-Image-Int = req.url;
regsub( req.http.X-Image-Int, "/(\d+)\.jpg$", "\1");
if(std.integer(req.http.X-Image-Int, 0) > 10) {
set req.backend = foo;
}
elseif(std.integer(req.http.X-Image-Int, 0) > 5) {
set req.backend = foo2;
}
remove req.http.X-Image-Int;
}
######################################
~Paul
On Wed, Oct 10, 2012 at 12:42:22AM +0000, Ross Brown wrote:
> Hi all
>
> We use Varnish for accelerating images. They are uploaded by our users and given a numeric ID, which is allocated sequentially. We have a lot of them.
>
> I'm about to start storing newly-uploaded in a different place, and ideally would like to select a backend by doing a compare against the image ID, eg if the ID > a number, use a different backend. Otherwise the backend will have to check both storage locations to find the image.
>
> I could do this with a regex, but ideally I'd like to do a proper integer comparison. I have read about the integer function in vmod_std, but I don't see how I use that when the integer is part of the request URL.
> https://www.varnish-cache.org/docs/3.0/reference/vmod_std.html?highlight=vmod_std#integer
>
> Request URLs look similar to this: /photoserver/size/1234567.jpg
>
> Any ideas?
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
________________________________
This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/legal/email_disclaimer/ for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you.
More information about the varnish-misc
mailing list