On Thu, Apr 09, 2026 at 03:58:32PM +0000, Pierre Cheynier wrote:
> Subject: [PATCH] FEATURE: add sample conv for frontend existence check
> Introduced a new sample fetch keyword "fe_exist" that checks if a
> frontend with a given name exists.
> ---
>  src/frontend.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/src/frontend.c b/src/frontend.c
> index 1df11fcb7..2ca788cbf 100644
> --- a/src/frontend.c
> +++ b/src/frontend.c
> @@ -323,6 +323,16 @@ smp_fetch_fe_tarpit_timeout(const struct arg *args, 
> struct sample *smp, const ch
>       return 1;
>  }
>  
> +static int
> +sample_conv_fe_exist(const struct arg *args, struct sample *smp, void 
> *private)
> +{
> +     if (!smp_make_safe(smp))
> +             return 0;
> +
> +     smp->data.type = SMP_T_BOOL;
> +     smp->data.u.sint = proxy_fe_by_name(smp->data.u.str.area) != NULL;
> +     return 1;
> +}
>  
>  /* Note: must not be declared <const> as its list will be overwritten.
>   * Please take care of keeping this list alphabetically sorted.
> @@ -341,6 +351,14 @@ static struct sample_fetch_kw_list smp_kws = {ILH, {
>  
>  INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
>  
> +/* Note: must not be declared <const> as its list will be overwritten */
> +static struct sample_conv_kw_list sample_conv_kws = {ILH, {
> +     { "fe_exist", sample_conv_fe_exist, 0, NULL, SMP_T_STR, SMP_T_BOOL },
> +     { /* END */ },
> +}};
> +
> +INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
> +
>  /* Note: must not be declared <const> as its list will be overwritten.
>   * Please take care of keeping this list alphabetically sorted.
>   */
> -- 
> 2.43.0
> 

Hello Pierre,

The code seems good to me, could you add the documentation in configuration.txt
for this keyword in the patch?

Thanks!

-- 
William Lallemand


Reply via email to