From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-3.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id AEEF71F61C for ; Mon, 12 Dec 2022 15:52:10 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hozpEmN1"; dkim-atps=neutral Received: by mail-qt1-x830.google.com with SMTP id cg5so9263820qtb.12 for ; Mon, 12 Dec 2022 07:52:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:cc:from:references:to:subject:from:to:cc :subject:date:message-id:reply-to; bh=44O5h83PmzPko9AGjlXyPR5Wb+RBRcRvN1/6Szjthe4=; b=hozpEmN1X6/jF4GXnDXzO1zp/l2+73Y2+swQtxcwHJ5isLRWIEJtjS8JTPe8qAPe+U 9caJwbP35i7mtA39vsggJqe/+wi3r4SQaxWA6DDwS2wTWDzik7Oik8pbSWrKHEABZh+5 /Gvp2Fi3c36BaErccu0Yr1ikvI36+o8chp5OFSSM8hRtwDV6xP5BeuVIHRcG0QdpgzSu Bl8QUm7LzQLNmAwO0xpJH+ePj4iPRp/4dTWXXaVXUB7qSYW5srY62kRj2t+rDl7QIpK4 qkw8xoti16JN/MFaGgG3cax59GPSPxvxDYjSiGLcBZqSbvUmeq2XxTvmDS8iRhNFEtXH x+7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:cc:from:references:to:subject :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=44O5h83PmzPko9AGjlXyPR5Wb+RBRcRvN1/6Szjthe4=; b=qz/yuqw+0ID35f28U/B8RHSxPJuaftOWH4ofcPN/27SYxnRRjVIT57RLXLcSH2i7PP K8OzPo7Bwm9lu6ggwYMoLnF1NefSmu0GEYtFp6d+cMvfP641xw4ds323dQ87TR+MWcHF 0Q5R3TMOYFBX40B5MclzINRaDbozfmpKwpGAVgRm8Zc2PvdquuuGFyU0p1x5l6akeIF5 sp44DAWWumdfGx+pF/dpXvJwP1K0Wy0mhsyX+M09W49ehNPqAJNZE5vG8J6FXWeQg71D rDI47FWtHo+WzrY1mu7yL85OHGFkXyvp3E+r0FCgLxU9fXHAAQCURhZ9j2p1b3UP2FA2 cqkg== X-Gm-Message-State: ANoB5pkIHotlzLK18yo01hWpCwE6G7lft/WrV8p5s8+bsQ8sp7P8Gjzw lnlr2DdA4ya8Y7FJ1ff5vshhX1kMkkWNlQ== X-Google-Smtp-Source: AA0mqf5VJZTl8D2aW6SVC4suvcG7WAvHkUqZg819FKWJr9wlwyYs5WKJY/jEgH25/jqjC0GOFNJ4IA== X-Received: by 2002:ac8:7ca3:0:b0:3a7:e9a2:4f4a with SMTP id z3-20020ac87ca3000000b003a7e9a24f4amr21208965qtv.8.1670860328895; Mon, 12 Dec 2022 07:52:08 -0800 (PST) Received: from volga.local ([208.255.152.218]) by smtp.gmail.com with ESMTPSA id o17-20020ac841d1000000b003a6a4744432sm5974717qtm.87.2022.12.12.07.52.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Dec 2022 07:52:08 -0800 (PST) Subject: Re: Support for Rack 3 headers formatted as arrays To: Eric Wong References: <20221210024246.GA8584@dcvr> From: Martin Posthumus Cc: unicorn-public@yhbt.net Message-ID: <7c851d8a-bc57-7df8-3240-2f5ab831c47c@gmail.com> Date: Mon, 12 Dec 2022 10:52:05 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:52.0) Gecko/20100101 PostboxApp/7.0.59 MIME-Version: 1.0 In-Reply-To: <20221210024246.GA8584@dcvr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: > OK. unicorn has no choice to support all Rack as long as Rack <= 2 > applications exist... Understood, I just wanted to show that I'm reasonably confident this isn't due to something weird I was doing in application code, and that ultimately I couldn't find any workaround that didn't involve monkeypatching either Rack or Unicorn. > Does this work for you? Indeed it does! > Yeah, I haven't looked deeply at Rack 3 support and hate dealing > with the culture of breaking changes prevalent in the Ruby world :< Yeah, I get it. To be fair the array representation probably makes more sense for a header with multiple values, but downstream in practice it means you have to deal with both. Thanks