From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.140.141.15 with SMTP id o15cs73800rvd; Thu, 28 Jan 2010 11:10:25 -0800 (PST) Received-SPF: pass (google.com: domain of 3H-FhSw4JCq0fVZba.N.PUVNaTTZNVY.PbZeNPX-QRiRYTbbTYRTebhcf.PbZ@groups.bounces.google.com designates 10.151.94.1 as permitted sender) client-ip=10.151.94.1; Authentication-Results: mr.google.com; spf=pass (google.com: domain of 3H-FhSw4JCq0fVZba.N.PUVNaTTZNVY.PbZeNPX-QRiRYTbbTYRTebhcf.PbZ@groups.bounces.google.com designates 10.151.94.1 as permitted sender) smtp.mail=3H-FhSw4JCq0fVZba.N.PUVNaTTZNVY.PbZeNPX-QRiRYTbbTYRTebhcf.PbZ@groups.bounces.google.com; dkim=pass header.i=3H-FhSw4JCq0fVZba.N.PUVNaTTZNVY.PbZeNPX-QRiRYTbbTYRTebhcf.PbZ@groups.bounces.google.com Received: from mr.google.com ([10.151.94.1]) by 10.151.94.1 with SMTP id w1mr64421ybl.6.1264705825180 (num_hops = 1); Thu, 28 Jan 2010 11:10:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received:received-spf:received:mime-version:received:date :x-ip:user-agent:x-http-useragent:message-id:subject:from:to :reply-to:precedence:mailing-list:list-id:list-post:list-help :list-archive:x-thread-url:x-message-url:sender:list-subscribe :list-unsubscribe:content-type; bh=nlwnJNgU4zCKCYZ9Ozd3HMMXcV6Lycfp41UtNm7bGfo=; b=cXyS0nrUmxacmysjmOqxaLiSbm7H5UYgnxy08b6cbeYIXGBcab41maqI+QlNtDmpGE z9diQl3MTdD3DxfrR72kin64tSLgSZewENQ3x2r3eZ/y/dOV1bgvxDoXAT2/V25ithcn Sh/mubFHqvzPSPx9Rx1w0UoTlR6zwTEhnLFsI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:date:x-ip:user-agent :x-http-useragent:message-id:subject:from:to:reply-to:precedence :mailing-list:list-id:list-post:list-help:list-archive:x-thread-url :x-message-url:sender:list-subscribe:list-unsubscribe:content-type; b=P8j4q4aPaYAsCHUYOyqmm8OOsRmFu+v8eOK38OW6dS8CnnJND8rNasBtoy/Qp+ZLlJ kyUtw7EHFgddUnYMWNQqGzjkpXYOniezhJ+aQkr8ph8qpLneMrvat4ufHbf2q1BkVb+u 2bGftQKF8xzwx2pAEZ5Rj8nyENYwAm869fs24= Received: by 10.151.94.1 with SMTP id w1mr2232ybl.6.1264705823651; Thu, 28 Jan 2010 11:10:23 -0800 (PST) X-BeenThere: rack-devel@googlegroups.com Received: by 10.151.16.12 with SMTP id t12ls783726ybi.1.p; Thu, 28 Jan 2010 11:10:22 -0800 (PST) Received: by 10.150.127.5 with SMTP id z5mr159078ybc.1.1264705822651; Thu, 28 Jan 2010 11:10:22 -0800 (PST) Received: by 10.150.119.22 with SMTP id r22mr99852ybc.0.1264702820811; Thu, 28 Jan 2010 10:20:20 -0800 (PST) Received: by 10.150.119.22 with SMTP id r22mr99849ybc.0.1264702820791; Thu, 28 Jan 2010 10:20:20 -0800 (PST) Return-Path: Received: from mail-yx0-f158.google.com (mail-yx0-f158.google.com [209.85.210.158]) by gmr-mx.google.com with ESMTP id 18si127076yxe.0.2010.01.28.10.20.20; Thu, 28 Jan 2010 10:20:20 -0800 (PST) Received-SPF: pass (google.com: domain of simon.a.chiang@gmail.com designates 209.85.210.158 as permitted sender) client-ip=209.85.210.158; Received: by yxe30 with SMTP id 30so2165374yxe.29 for ; Thu, 28 Jan 2010 10:20:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.150.242.4 with SMTP id p4mr1012ybh.22.1264702820746; Thu, 28 Jan 2010 10:20:20 -0800 (PST) Date: Thu, 28 Jan 2010 10:20:20 -0800 (PST) X-IP: 65.125.146.33 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7,gzip(gfe),gzip(gfe) Message-ID: <2d67024e-41cd-493b-838d-cf06cf4b64ce@g28g2000prb.googlegroups.com> Subject: Why is there quote parsing on queries? From: Simon Chiang To: Rack Development Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: X-Thread-Url: http://groups.google.com/group/rack-devel/t/f81f79e633b9e086 X-Message-Url: http://groups.google.com/group/rack-devel/msg/7544dfbeaf5f1ff Sender: rack-devel@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: text/plain; charset=ISO-8859-1 Rack currently parses out quoted values such that you get this: foo='bar' # => {"foo" => "bar"} Rather than this: foo='bar' # => {"foo" => "'bar'"} I came across this when I was trying to send multiple quoted values through a text field such that: Text Field Encoded String String After Parsing "'a' 'b'" %27a%27+%27b%27 "a' 'b" " 'a' 'b' " +%27a%27+%27b%27+ " 'a' 'b' " It seems confusing because when a user adds spaces, the quotes are suddenly preserved. Obviously a user could work around this by quoting the whole thing (ie "\"'a' 'b'\"") but I just wanted to know if this is part of the URL specification someplace, or is quote parsing a convention introduced by rack?