Hello Neil,
You seem to have missed my answer, so I am gonna top post this time :)
http-request redirect location
%[hdr(host),map(/etc/haproxy/redirect_host.map)] code 301 if {
hdr(host),map(/etc/haproxy/redirect_host.map) -m found }
Regards,
Nenad
On 03/11/2016 11:32 PM, Neil - HAProxy List wrote:
> Hello
>
> I've left a little time and no one has said anything more so time for me
> to act and submit a patch.
>
> I want to make functions that can be used in acls and take a map and
> provide has_key and, for completeness, has_value
>
> Are those names uncontroversial/ suitable and, i really hope, is this
> unnecessary as it already exists.
>
> I'm more that a little surprised to find myself the first to want this
>
> Cheers
>
> Neil
>
> On 11 Mar 2016 22:16, "Neil" <[email protected]
> <mailto:[email protected]>> wrote:
>
> Hello
>
> I've left a little time and no one has said anything more so time
> for me to act and submit a patch.
>
> I want to make functions that can be used in acls and take a map and
> provide has_key and, for completeness, has_value
>
> Are those names uncontroversia/ suitablel and, i really hope, is
> this unnecessary as it already exists.
>
> I'm more that a little sutprised to find myself the first to want this
>
> Cheers
>
> Neil
>
> On 3 Mar 2016 18:08, "Neil - HAProxy List"
> <[email protected]
> <mailto:[email protected]>> wrote:
>
> Thanks Conrad,
>
> That sort of thing looks better that what I had, and I'll give
> it a go.
>
> I still think this is a bit long winded syntax for something
> that probably quite a common things to want to do? A
> map_contains type boolean function still seems like a good to have?
>
> Thanks
>
> Neil
>
> On 3 March 2016 at 13:05, Conrad Hoffmann <[email protected]
> <mailto:[email protected]>> wrote:
>
> If you are using haproxy >=1.6, you might be able to do
> something like this:
>
> acl no_redir %[req.redir] -m str NO_REDIR
> http-request set-var(req.redir) \
> %[hdr(host),map(/etc/haproxy/redirect_host.map,NO_REDIR)]
> http-request redirect location %[req.redir] code 301 if
> !no_redir
>
> This is completely made up and untested, but I hope you get
> the idea.
> Avoids a second map lookup altogether, but also map lookups
> are quite fast,
> so unless you map is huge you don't really need to worry
> about this. Also,
> double negation, but this is just to give you some idea
>
> Cheers,
> Conrad
> --
> Conrad Hoffmann
> Traffic Engineer
>
> SoundCloud Ltd. | Rheinsberger Str. 76/77, 10115 Berlin, Germany
>
> Managing Director: Alexander Ljung | Incorporated in England
> & Wales
> with Company No. 6343600 | Local Branch Office | AG
> Charlottenburg |
> HRB 110657B
>
>