Re: Proposal: Helper response: concatenated values with custom delimiter

Alex Rousskov <[email protected]> Thu, 23 Apr 2026 09:42:56 -0400
Newsgroups gmane.comp.web.squid.devel
Message-ID <[email protected]>
T24gMjAyNi0wNC0yMiAwNzoyNCwgQW5kcmV5IEsgd3JvdGU6Cj4gSGVsbG8sIEFtb3MgYW5kIEFs
ZXgsCj4gCj4gVGhhbmsgeW91IGZvciB0aGUgZGlzY3Vzc2lvbiBhbmQgdGhlIHByb3Bvc2VkIGZv
cm1hdHMuCj4gCj4gU2luY2Ugd2UgYWxyZWFkeSBzdXBwb3J0IHRoZQo+ICDCoCDCoCBrZXk9djEg
a2V5PXYyCj4gZm9ybWF0LCBhbmQgdGhlCj4gIMKgIMKgIGtleT12MSx2Mgo+IGZvcm1hdCBpcyBj
dXJyZW50bHkgdW5kb2N1bWVudGVkLCBJIHRoaW5rIHdlIHNob3VsZCBhbnN3ZXIgdHdvIHF1ZXN0
aW9ucyAKPiBmaXJzdDoKPiAKPiAxLiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXBwb3J0IGxpc3Qt
dmFsdWVzPyBJdCBzZWVtcyBBbGV4IHRoaW5rcyB3ZSAKPiBtaWdodCBub3QgbmVlZCB0aGVtIGF0
IGFsbC4KCklmIHlvdSBoYXZlIHRvIGFzaywgdGhlbiB0aGUgYW5zd2VyIGlzICJubyIgb3IgIm5v
dCB5ZXQiOiBXZSBuZWVkIGEgdmVyeSAKY29tcGVsbGluZyB1c2UgY2FzZSB0byBhZGQgYSAibGlz
dC12YWx1ZXMiIG9wdGltaXphdGlvbiAod2hlbiB3ZSBhbHJlYWR5IApzdXBwb3J0IGxpc3RzIG9m
IHZhbHVlcykuIFNpbmNlIHlvdSBhcmUgbm90IHN1cmUsIGFuZCB5b3Ugd2VyZSB0aGUgb25seSAK
b25lIG1ha2luZy93YW50aW5nIHJlbGF0ZWQgY2hhbmdlcyAoQUZBSUNUKSwgd2UgZXZpZGVudGx5
IGxhY2sgc3VjaCBhIApjYXNlIHRvZGF5LgoKUnVsZSBvZiB0aHVtYjogQXZvaWQgY29tcGxleCBv
cHRpbWl6YXRpb25zIHVudGlsIHRoZWlyIGV4cGVuc2UgY2FuIGJlIApqdXN0aWZpZWQgYnkgYSB1
c2UgY2FzZSAodGhhdCBjYW4gYWxzbyBndWlkZSB0aGVpciBpbXBsZW1lbnRhdGlvbikuCgoKPiAy
LiBJZiB3ZSBkbywgaXMgYSBjb21tYSBlbm91Z2ggYXMgdGhlIGRlZmF1bHQgc2VwYXJhdG9yPwoK
SXQgaXMgZW5vdWdoIGFzIGEgc3RhcnRpbmcgcG9pbnQgX2lmXyB3ZSBwcmVzZXJ2ZSB0aGUgcG9z
c2liaWxpdHkgb2YgCmFkZGluZyByZWFzb25hYmxlIHN1cHBvcnQgZm9yIG90aGVyIHNlcGFyYXRv
cnMgd2l0aG91dCBicmVha2luZyBhbnkgCmV4aXN0aW5nIChhdCB0aGF0IHRpbWUpIGhlbHBlcnMu
CgoKPiBJIGJlbGlldmUgd2Ugc2hvdWxkIHNldHRsZSB0aGVzZSBwb2ludHMgYmVmb3JlIGRlc2ln
bmluZyBhIG5ldyBmb3JtYXQgCj4gZm9yIHZhbHVlIGxpc3RzLgoKSSBhZ3JlZS4gTW9yZW92ZXIs
IGlmIHRoZSBhbnN3ZXIgdG8gdGhlIGZpcnN0IHF1ZXN0aW9uIGlzICJubyIgKG9yICJub3QgCnll
dCIpLCB0aGVuIHdlIGRvIG5vdCBuZWVkIHRvIGFuc3dlciB0aGUgc2Vjb25kIHF1ZXN0aW9uIChu
b3cpLgoKCkNoZWVycywKCkFsZXguCgoKPiDRgdGALCAyMiDQsNC/0YAuIDIwMjbigK/Qsy4g0LIg
MDA6MTcsIEFsZXggUm91c3Nrb3Y6Cj4gCj4gICAgIE9uIDIwMjYtMDQtMjEgMTU6NTcsIEFtb3Mg
SmVmZnJpZXMgd3JvdGU6Cj4gCj4gICAgICA+IFRoZSBoZWxwZXIgcHJvdG9jb2wgZG9jdW1lbnRz
ICcsJyBhcyBsaXN0IGRlbGltaXRlcgo+IAo+ICAgICBXaGVyZSBkbyB3ZSBkb2N1bWVudCAnLCcg
YXMgYSBkZWxpbWl0ZXIgZm9yIGFubm90YXRpb24gdmFsdWVzIGluIGhlbHBlcgo+ICAgICByZXNw
b25zZXM/IEkgY2Fubm90IGZpbmQgYW55IHN1Y2ggdGV4dCBvbiBBZGRvbkhlbHBlcnMgcGFnZSBv
ciBpbnNpZGUKPiAgICAgY2YuZGF0YS5wcmUuCj4gCj4gICAgICA+IE9uIDIyLzA0LzIwMjYgMDM6
MTEsIEFsZXggUm91c3Nrb3Ygd3JvdGU6Cj4gICAgICA+PiBbIElmIHRoZXJlIGlzIGEgcmVhbCwg
c2VyaW91cyBuZWVkIHRvIG9wdGltaXplIHRoYXQgZXhpc3RpbmcKPiAgICAgc3VwcG9ydCwKPiAg
ICAgID4+IHRoZW4gXSBjYW4gd2UgaW52ZW50IGFub3RoZXIgc3ludGF4IHRoYXQgd2lsbCBub3Qg
cmVzdWx0IGluCj4gICAgICA+PiBtaXNoYW5kbGluZyBhbnkgZXhpc3RpbmcgaGVscGVyIGFubm90
YXRpb24gKHRoYXQgaXMgbm90IHRyZWF0ZWQKPiAgICAgYXMgYQo+ICAgICAgPj4gbGlzdCB0b2Rh
eSk/IEZvciBleGFtcGxlLCBwZXJoYXBzIHdlIGNhbiB1c2UgaXNLZXlOYW1lQ2hhcigpCj4gICAg
ICA+PiByZXN0cmljdGlvbnMgdG8gcGxhY2UgdGhlIGRlbGltaXRlciBmaXJzdCwgYmVmb3JlIHRo
ZSBhbm5vdGF0aW9uCj4gICAgIG5hbWU/Cj4gICAgICA+Pgo+ICAgICAgPj4gwqDCoMKgwqAgKG09
LCluYW1lPXZhbHVlMSx2YWx1ZTIKPiAgICAgID4+Cj4gICAgICA+Cj4gICAgICA+IEhtbS7CoCBX
aGVuIEkgY29tYmluZSB0aGF0IGlkZWEgd2l0aCBvbGRlciBwcm9wb3NhbHMgZmxvYXRlZCBhYm91
dAo+ICAgICAgPiBrdi1wYWlyIGFwcGVuZC9yZXBsYWNlIHN5bnRheCB0aGVyZSBhcmUgc29tZSBu
aWNlIGltcGxpY2F0aW9ucy4KPiAgICAgID4KPiAgICAgID4gSG93IGFib3V0IHRoaXM6Cj4gICAg
ICA+Cj4gICAgICA+IDEpIGNoYW5nZSBvZiBrdi1wYWlyIGdyYW1tYXIgdG86Cj4gICAgICA+Cj4g
ICAgICA+wqAgwqDCoCBrdi1wYWlyID0gWyAnXycgXSBrZXkgWyBmbGFnIF0gJz0nICggdmFsdWUg
LyBsaXN0ICkKPiAKPiAgICAgWWVzLCBBRkFJQ1QsIHBsYWNpbmcgaGFuZGxpbmcgaW5zdHJ1Y3Rp
b25zIF9hZnRlcl8gdGhlIGtleSBzaG91bGQgYWxzbwo+ICAgICB3b3JrIChmb3IgdGhlIHNhbWUg
aXNLZXlOYW1lQ2hhcikgcmVhc29uKSBhbmQgaXMgbW9yZSBhZXN0aGV0aWNhbGx5Cj4gICAgIHBs
ZWFzaW5nIHRoYW4gbXkgc2tldGNoIGFib3ZlLgo+IAo+ICAgICBJZiB3ZSByZWFsbHkgaGF2ZSB0
byBhZGQgdGhpcyBuZXcgZmVhdHVyZSwgdGhlbiBJIHdvdWxkIHByb2JhYmx5IHVzZQo+ICAgICBj
dXJseSBicmFjZXMgZm9yIHRoZXNlIG9wdGlvbmFsIGluc3RydWN0aW9ucywgdG8gbWFrZSBpdCBz
aW1pbGFyIHRvIG91cgo+ICAgICBsb2dmb3JtYXQgJWNvZGVzOgo+IAo+ICAgICAgwqAgwqAgwqBu
YW1ley4uLn09dmFsdWUuLi4KPiAKPiAgICAgRm9yIGV4YW1wbGU6Cj4gCj4gICAgICDCoCDCoCDC
oG5hbWV7bX09dmFsdWUxLHZhbHVlMgo+IAo+ICAgICBvcgo+IAo+ICAgICAgwqAgwqAgwqBuYW1l
e209On09dmFsdWUxOnZhbHVlMgo+IAo+IAo+ICAgICAgPiAqIGZsYWcgZG9lcyBub3QgbmVlZCB0
byBiZSBsaW1pdGVkIHRvIGEgc2luZ2xlIGNoYXJhY3Rlci4gSXQKPiAgICAgY291bGQgYmUKPiAg
ICAgID4gc2V2ZXJhbC4KPiAKPiAgICAgQW55IHN5bnRheCBzaG91bGQgYWxsb3cgYWRkaW5nIHNh
ZmUsIGJhY2t3YXJkLWNvbXBhdGlibGUgc3VwcG9ydCBmb3IKPiAgICAgYWRkaXRpb25hbC9jb21w
bGV4IGluc3RydWN0aW9ucyBpbiB0aGUgZnV0dXJlLCBvZiBjb3Vyc2UsIGluY2x1ZGluZwo+ICAg
ICBtdWx0aXBsZSBpbnN0cnVjdGlvbnMuCj4gCj4gCj4gICAgIEhUSCwKPiAKPiAgICAgQWxleC4K
PiAKPiAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
PiAgICAgc3F1aWQtZGV2IG1haWxpbmcgbGlzdAo+ICAgICBzcXVpZC1kZXZAbGlzdHMuc3F1aWQt
Y2FjaGUub3JnIDxtYWlsdG86c3F1aWQtZGV2QGxpc3RzLnNxdWlkLWNhY2hlLm9yZz4KPiAgICAg
aHR0cHM6Ly9saXN0cy5zcXVpZC1jYWNoZS5vcmcvbGlzdGluZm8vc3F1aWQtZGV2Cj4gICAgIDxo
dHRwczovL2xpc3RzLnNxdWlkLWNhY2hlLm9yZy9saXN0aW5mby9zcXVpZC1kZXY+Cj4gCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpzcXVpZC1kZXYgbWFp
bGluZyBsaXN0CnNxdWlkLWRldkBsaXN0cy5zcXVpZC1jYWNoZS5vcmcKaHR0cHM6Ly9saXN0cy5z
cXVpZC1jYWNoZS5vcmcvbGlzdGluZm8vc3F1aWQtZGV2Cg==