Re: Proposal: Helper response: concatenated values with custom delimiter
Amos Jeffries <[email protected]> Wed, 22 Apr 2026 07:57:01 +1200
| Newsgroups | gmane.comp.web.squid.devel |
|---|---|
| Message-ID | <[email protected]> |
T24gMjIvMDQvMjAyNiAwMzoxMSwgQWxleCBSb3Vzc2tvdiB3cm90ZToKPiBPbiAyMDI2LTA0LTIx IDA5OjA2LCBBbmRyZXkgSyB3cm90ZToKPj4gSGVsbG8sCj4+Cj4+IEkndmUgbWVudGlvbmVkIHRo aXMgYnJpZWZseSBpbiBhbm90aGVyIHRocmVhZCwgYnV0IEnigJlkIGxpa2UgdG8gc3RhcnQgYSAK Pj4gZGVkaWNhdGVkIGRpc2N1c3Npb24gcmVnYXJkaW5nIHRoZSBzdXBwb3J0IGZvciBhICJjb25j YXRlbmF0ZWQiIHZhbHVlIAo+PiBmb3JtYXQgaW4gaGVscGVyIHJlc3BvbnNlcy4KPj4KPj4gSW4g YSByZWNlbnQgUFIgZGlzY3Vzc2lvbiAoaHR0cHM6Ly9naXRodWIuY29tL3NxdWlkLWNhY2hlL3Nx dWlkLyAKPj4gcHVsbC8yMzk1I2Rpc2N1c3Npb25fcjMwMjI4NDQ4MjYgPGh0dHBzOi8vZ2l0aHVi LmNvbS9zcXVpZC1jYWNoZS8gCj4+IHNxdWlkL3B1bGwvMjM5NSNkaXNjdXNzaW9uX3IzMDIyODQ0 ODI2PiksIEFsZXggcG9pbnRlZCBvdXQgaXNzdWVzIHdpdGggCj4+IHVzaW5nIGNvbmNhdGVuYXRl ZCBmb3JtYXRzIGZvciBwYXNzaW5nIHRhZyB2YWx1ZXMuCj4+Cj4+IEkgcHJvcG9zZSBhZGRpbmcg c3VwcG9ydCBmb3IgYSBjdXN0b20gZGVsaW1pdGVyIGZvciBjb25jYXRlbmF0ZWQgCj4+IHZhbHVl cyB3aXRoaW4gYSBzaW5nbGUgS1YtcGFpciBpbiB0aGUgaGVscGVyIG91dHB1dC4KPj4KPj4gVGhl IHByb3Bvc2VkIHN5bnRheCBpczoKPj4gPGtleT49PGRlbGltaXRlcj4iPHZhbHVlMT48ZGVsaW1p dGVyPjx2YWx1ZTI+Li4uIgo+Pgo+PiBFeGFtcGxlczoKPj4gZ3JvdXA9LCJncm91cDEsZ3JvdXAy LGdyb3VwMyIKPj4gY2x0X2Nvbl90YWc9OyJ0YWcxO3RhZzI7dGFnMyIKPj4KPj4gRXNjYXBpbmcg bG9naWM6Cj4+IMKgwqAgwqAgSWYgdGhlIGRlbGltaXRlciBhcHBlYXJzIGluc2lkZSBhIHZhbHVl IHdpdGhpbiB0aGUgdG9rZW4sIGl0IG11c3QgCj4+IGJlIGRvdWJsZS1lc2NhcGVkIChcXCkgYnkg dGhlIGhlbHBlci4KPj4gRm9yIGV4YW1wbGU6Cj4+IGdyb3VwPSwiU3RhZmY6YWNjb3VudGFudHNc XCxsYXd5ZXJzXFwsc2VjdXJpdHksTWFpbl9PZmZpY2UiCj4+IFRoaXMgc2hvdWxkIHByb2R1Y2Ug dHdvIHNlcGFyYXRlIGFubm90YXRpb25zOgo+PiBncm91cD1TdGFmZjphY2NvdW50YW50cyxsYXd5 ZXJzLHNlY3VyaXR5Cj4+IGdyb3VwPU1haW5fT2ZmaWNlCj4+Cj4+IFRoZSBjaG9pY2Ugb2YgZG91 YmxlIGVzY2FwaW5nIGlzIGludGVudGlvbmFsIHRvIG1haW50YWluIGNvbnNpc3RlbmN5IAo+PiB3 aXRoIHRoZSB3YXkgc3Ryd29yZHRvaygpIHByb2Nlc3NlcyBxdW90ZWQgdmFsdWVzIGluIFNxdWlk Lgo+PiBUaGlzIGFwcHJvYWNoIGVuc3VyZXMgdGhhdCB3ZSBjYW4gcHJlc2VydmUgdGhlIHVuZGVy bHlpbmcgbG9naWMgZm9yIAo+PiBoYW5kbGluZyB2YWx1ZXMgd2hpbGUgY29ycmVjdGx5IHNwbGl0 dGluZyB0aGUgImdsdWVkIiB0b2tlbnMuCgoKJS1lbmNvZGluZyBjYW4gcGVyZm9ybSB0aGUgc2Ft ZSByb2xlLCBhbHNvIHN1cHBvcnRlZCwgaGFzIHRoZSBzYW1lIApiYW5kd2lkdGggY29zdCwgZG9l cyBub3QgcmVxdWlyZSBkb3VibGUtcXVvdGVkIHN0cmluZywgYW5kIGZhciBlYXNpZXIgdG8gCmdl dCByaWdodCB0aGFuIG5lc3RlZCBcLWVzY2FwZS4KCkkgc3VnZ2VzdCB1c2luZyB0aGF0IGFzIHRo ZSBkb2N1bWVudGVkIHByb3RlY3Rpb24gaW5zdGVhZC4KCgpJc3N1ZXMgSSBmb3JzZWUgd2l0aCB0 aGlzIHByb3Bvc2FsOwoKICAqIFRoZSBoZWxwZXIgcGFyc2VyIHNwbGl0dGluZyB0aGUgdmFsdWUt bGlzdCB3aWxsIGhhdmUgdW5wcmVkaWN0YWJsZSAKaW1wYWN0IG9uIGFsbCB1c2VyIGNvbmZpZ3Vy YXRpb25zIC0gcmFuZ2luZyBmcm9tIG5vIGNoYW5nZSwgdG8gCiJzdXJwcmlzZSEgU3F1aWQgYmVo YXZpb3VyIGp1c3QgZ290IHdlaXJkIi4KCgogICogVGhlIGN1c3RvbSBkZWxpbWl0ZXIgd2lsbCBo YXZlIGlzc3VlcyB0aGUgbm9uLXF1b3RlZCBrZXk9dG9rZW4gCnN5bnRheC4gVGhlcmUgaXMgX25v XyByZXF1aXJlbWVudCB0aGF0IGFubm90YXRpb24gbGlzdHMgYXJlIGluc2lkZSAKcXVvdGVkLXN0 cmluZy4KCgoKPj4KPj4gQ3VycmVudGx5LCBhIGNvbW1hLXNlcGFyYXRlZCBmb3JtYXQgaXMgb2Z0 ZW4gdXNlZCBkZSBmYWN0bywgYnV0IFNxdWlkIAo+PiBzdG9yZXMgdGhlc2UgYXMgYSBzaW5nbGUg RW50cnksIHJlcXVpcmluZyB0aGUgLW0gb3B0aW9uIGZvciBhbm5vdGF0aW9uIAo+PiBjaGVja3Mu Cj4+Cj4+IFByb3Bvc2VkIENoYW5nZToKPj4gQSBtaW5vciBtb2RpZmljYXRpb24gdG8gSGVscGVy OjpSZXBseTo6cGFyc2VSZXNwb25zZUtleXMoKS4KPj4KPj4gUHJvczoKPj4gLSBNb3JlIGNvbXBh Y3QgZGF0YSB0cmFuc2ZlciBmb3JtYXQuCgpUaGF0IGFzc3VtZXMgdGhlIGZ1bGx5IGV4cGFuZGVk ICJrZXk9djEga2V5PXYyIiBmb3JtIGlzIHRyYW5zbWl0dGVkLgoKVGhlIG9wcG9zaXRlIGhhcyBi ZWVuIGRlbW9uc3RyYXRlZCBhbHJlYWR5IGZvciB0aGUgcHJlZmVycmVkIGtleT12MSx2MiAKZm9y bS4gRGF0YSB0cmFuc2ZlciBpbmNyZWFzZXMgYnkgYXQgbGVhc3QgdGhlIG9jdGV0IHNpZ25hbGxp bmcgZGVsaW1pdGVyIAp0byB1c2UsIHBsdXMgYW55IGV4dHJhIGVuY29kaW5nIGNoYXJhY3RlcnMg d2hlbiB0aGVyZSBpcyBhIGNvbmZsaWN0ZWQgCmNoYXJhY3Rlci4KCgoKPj4gLSBQcm9wZXIgZGF0 YSBzdG9yYWdlIG9uIHRoZSBTcXVpZCBzaWRlIChzZXBhcmF0ZSB2YWx1ZXMgaW5zdGVhZCBvZiAK Pj4gb25lIGJsb2IpLgoKIlByb3BlciIgaXMgc3ViamVjdGl2ZS4KCkZXSVcsIEkgYWdyZWUsIGFu ZCBpdCBzZWVtcyBBbGV4IGRvZXMgdG9vLgoKCj4+IC0gRmxleGliaWxpdHkgZm9yIHBsdWdpbiBk ZXZlbG9wZXJzIHZpYSBjdXN0b20gZGVsaW1pdGVycy4KClN1cmUsIGJ1dCBkb2VzIGFueW9uZSBu ZWVkIGl0IHRoYXQgZmxleGlibGU/CgpUaGUgaGVscGVyIHByb3RvY29sIGRvY3VtZW50cyAnLCcg YXMgbGlzdCBkZWxpbWl0ZXIgYW5kIHByb3ZpZGVzIHR3byAKZW5jb2RpbmcgbWV0aG9kcyB0byBw cm90ZWN0IGNvbmZsaWN0aW5nIGNoYXJhY3RlcnMuCgpFdmVuIGlmIHRoZSBoZWxwZXIgbG9naWMg c3BsaXRzIHRoZSB2YWx1ZS1saXN0IGJhc2VkIG9uIHNvbWUgY3VzdG9tIApkZWxpbWl0ZXIuIFRo ZSBhbm5vdGF0aW9uIHN0b3JhZ2Ugd2lsbCBzdGlsbCBiZSByZS1zcGxpdHRpbmcgYmFzZWQgb24g Cml0cyBvd24gaWRlYXMgYWJvdXQgd2hhdCBhIHZhbHVlLWxpc3QgaXMuIFRoZSBzYW1lIHByb2Js ZW1zIGp1c3QgZ2V0IAp3b3JzZSBhcyB3ZSBubyBsb25nZXIgY2FuIHJlbHkgb24gJywnIGJlaW5n IHRoZSBkZWxpbWl0ZXIgdG8gdmFsaWRhdGUuCgoKSSByZWFsbHkgdGhpbmsgd2Ugc2hvdWxkIGZp eCB0aGUgYW5ub3RhdGlvbiBzdG9yYWdlIGJlZm9yZSBnb2luZyBuZWFyIApjdXN0b20gZGVsaW1p dGVycy4gT25seSBzdG9yaW5nIHRoZSBrZXk9dmFsdWUgaW5zdGVhZCBvZiBzZXJpYWxpemVkIAps aXN0cyB3aWxsIGdvIGEgbG9uZyB3YXkgdG93YXJkcyBmaXhpbmcgcHJvYmxlbS4gQ2FsbGVycyBj YW4gcmVxdWVzdCAKc2VyaWFsaXphdGlvbiBhcy1uZWVkZWQgYW5kIHN1cHBseSBkZWxpbWl0ZXJz IGV2ZW4gaWYgZGVzaXJlZC4KCgoKPj4gLSBFbGltaW5hdGVzIHRoZSBuZWVkIGZvciBhZG1pbnMg dG8gbWFudWFsbHkgbWFuYWdlIHRoZSAtbSBvcHRpb24gZm9yIAo+PiB0aGVzZSBjYXNlcy4KCkkg YW0gbm90IGNvbnZpbmNlZCB0aGUgcHJvcG9zYWwgd2lsbCBiZSBhYmxlIHRvIG1lZXQgdGhpcyBj bGFpbS4gU2ltcGx5IApiZWNhdXNlIHRoZSAiLW0iIGZsYWcgaXMgcGFydCBvZiBhbiBlbnRpcmVs eSBkaWZmZXJlbnQgY29tcG9uZW50IG9mIApTcXVpZCB0aGFuIHRoZSBoZWxwZXIgYmVpbmcgbW9k aWZpZWQuCgpPbmNlIHRoZSBBQ0wgYnVnIGlzIGZpeGVkIHRoZSBoZWxwZXIgbmVlZHMgb25seSB0 byAlLWVuY29kZSBvciBcLWVzY2FwZSAKdGhlIGNvbmZsaWN0aW5nIGNvbW1hIGNoYXJhY3RlcnMg cHJvcGVybHkgYW5kIHRoZWlyIG5lZWQgdG8gdXNlICItbSIgCmZsYWcgZGlzYXBwZWFycy4KClVu dGlsIHRoYXQgYnVnIGlzIGZpeGVkIChhbmQgTm90ZVBhaXJzIHN0b3BzIHN0b3Jpbmcgc2VyaWFs aXplZCBsaXN0cykgCnVzaW5nIGN1c3RvbSBkZWxpbWl0ZXJzIGp1c3QgYWRkcyByaXNrIHRoYXQg YSBjb21tYSBpbnNpZGUgc29tZSB2YWx1ZSAKcmVhY2hlcyB0aGUgYnVnZ3kgQUNMIChvciBzb21l d2hlcmUgZWxzZSBhc3N1bWluZyBjb21tYSBkZWxpbWl0ZWQgbGlzdHMpLgoKCj4+Cj4+IEkgYW0g aW50ZXJlc3RlZCBpbiBpbXBsZW1lbnRpbmcgdGhpcyBhbmQgc3VibWl0dGluZyBhIFBSLiBEbyB5 b3UgdGhpbmsgCj4+IHRoaXMgc29sdXRpb24gaXMgbmVlZGVkIGFuZCBmaXRzIHRoZSBwcm9qZWN0 J3MgZGlyZWN0aW9uPwo+IAo+IEkgZG8gbm90IGtub3cgd2hldGhlciB0aGlzIHByb2JsZW0gbmVl ZHMgYSBzb2x1dGlvbiwgYnV0IEkgYW0gbm90IAo+IGV4Y2l0ZWQgYWJvdXQgdGhlIHByb3Bvc2Vk IHNvbHV0aW9uLCBlc3BlY2lhbGx5IGJlY2F1c2UgKEFGQUlDVCkgU3F1aWQgCj4gYWxyZWFkeSBz dXBwb3J0cyBoZWxwZXIgcmVzcG9uc2VzIHdpdGggbXVsdGlwbGUgc2FtZS1uYW1lIGFubm90YXRp b25zIAo+IGFuZCB0cmVhdHMgdGhlbSBjb3JyZWN0bHkuCgpJIGFncmVlIGhhdmluZyB0aGUgaGVs cGVyIHJlc3BvbnNlIHBhcnNlciBkb2luZyB2YWx1ZS1saXN0IHNwbGl0dGluZyBpcyAKYSBnb29k IGlkZWEuCgoKSSBzdGlsbCBkbyBub3Qgc2VlIGEgbmVlZCBmb3IgY3VzdG9tIGRlbGltaXRlci4K CgoKPiAKPiBbIElmIHRoZXJlIGlzIGEgcmVhbCwgc2VyaW91cyBuZWVkIHRvIG9wdGltaXplIHRo YXQgZXhpc3Rpbmcgc3VwcG9ydCwgCj4gdGhlbiBdIGNhbiB3ZSBpbnZlbnQgYW5vdGhlciBzeW50 YXggdGhhdCB3aWxsIG5vdCByZXN1bHQgaW4gbWlzaGFuZGxpbmcgCj4gYW55IGV4aXN0aW5nIGhl bHBlciBhbm5vdGF0aW9uICh0aGF0IGlzIG5vdCB0cmVhdGVkIGFzIGEgbGlzdCB0b2RheSk/IAo+ IEZvciBleGFtcGxlLCBwZXJoYXBzIHdlIGNhbiB1c2UgaXNLZXlOYW1lQ2hhcigpIHJlc3RyaWN0 aW9ucyB0byBwbGFjZSAKPiB0aGUgZGVsaW1pdGVyIGZpcnN0LCBiZWZvcmUgdGhlIGFubm90YXRp b24gbmFtZT8KPiAKPiAgwqDCoMKgIChtPSwpbmFtZT12YWx1ZTEsdmFsdWUyCj4gCgpIbW0uICBX aGVuIEkgY29tYmluZSB0aGF0IGlkZWEgd2l0aCBvbGRlciBwcm9wb3NhbHMgZmxvYXRlZCBhYm91 dCAKa3YtcGFpciBhcHBlbmQvcmVwbGFjZSBzeW50YXggdGhlcmUgYXJlIHNvbWUgbmljZSBpbXBs aWNhdGlvbnMuCgpIb3cgYWJvdXQgdGhpczoKCjEpIGNoYW5nZSBvZiBrdi1wYWlyIGdyYW1tYXIg dG86CgogICAga3YtcGFpciA9IFsgJ18nIF0ga2V5IFsgZmxhZyBdICc9JyAoIHZhbHVlIC8gbGlz dCApCgoyKSBjcmVhdGUgYSBOb3RlUGFpcnM6OnVwZGF0ZShrZXksIHZhbHVlLCBmbGFnKSBtZXRo b2QgdGhhdCB1c2VzIGZsYWcgdG8gCmRlY2lkZSB3aGljaCBvcGVyYXRpb24gdG8gcGVyZm9ybSBh cyB0aGUgdXBkYXRlLgoKUHJvczoKICAqIGZsYWcgZG9lcyBub3QgbmVlZCB0byBiZSBsaW1pdGVk IHRvIGEgc2luZ2xlIGNoYXJhY3Rlci4gSXQgY291bGQgYmUgCnNldmVyYWwuCgogICogTW9zdCBj YWxsZXJzIGNvdWxkIGJlIGNvbnZlcnRlZCB0byBkZS1zZXJpYWxpemluZyB0aGUgdmFsdWUtbGlz dCBieSAKc2ltcGx5IHNlbmRpbmcgdGhlICcsJyBmbGFnIGlmIG5vbmUgaXMgcHJvdmlkZWQgZXhw bGljaXRseSB2aWEgb3RoZXIgbWVhbnMuCgpDb25zOgogICogbW9yZSBjb21wbGV4aXR5IHRvIHRo ZSBrdi1wYWlyIGNvbmNlcHQgYW5kIGltcGxlbWVudGF0aW9uLgoKCkNoZWVycwpBbW9zCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpzcXVpZC1kZXYgbWFp bGluZyBsaXN0CnNxdWlkLWRldkBsaXN0cy5zcXVpZC1jYWNoZS5vcmcKaHR0cHM6Ly9saXN0cy5z cXVpZC1jYWNoZS5vcmcvbGlzdGluZm8vc3F1aWQtZGV2Cg==