Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78528 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 29190 invoked from network); 31 Oct 2014 19:00:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Oct 2014 19:00:18 -0000 Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 66.111.4.27 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 66.111.4.27 out3-smtp.messagingengine.com Received: from [66.111.4.27] ([66.111.4.27:44852] helo=out3-smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D6/99-15608-F3CD3545 for ; Fri, 31 Oct 2014 14:00:15 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id AD74220717 for ; Fri, 31 Oct 2014 15:00:10 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Fri, 31 Oct 2014 15:00:10 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=B1Ru0lTPcWSm+GoHiZ0f3P kLDKY=; b=k39wL+PMEPjgeqn4NLQIWva35f8awlyY74G/lpN/kpCxrk+T/5qwp9 X+y4tLNDxP11fj1kMUZ6e4YnkywQThmezRO3zPdzrdEy4FqH7mqTjkswcpK8mHJP m/gWbRDRnfzKc7Q+jm+P1ml+A+M9idg0SJErV/zWXkwPnwy57VLA8= X-Sasl-enc: lvcW6M8eu6Ea1bpeOzMT7ijtm5vNGa5cJx1cIhj32LUi 1414782010 Received: from Palantirs-MacBook-Pro-5.local (unknown [63.250.249.138]) by mail.messagingengine.com (Postfix) with ESMTPA id 6F853680174 for ; Fri, 31 Oct 2014 15:00:10 -0400 (EDT) Message-ID: <5453DC39.8060501@garfieldtech.com> Date: Fri, 31 Oct 2014 14:00:09 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: internals@lists.php.net References: <5452B87B.5040009@garfieldtech.com> <0B797CE3-7AFA-4330-9A98-D3CAFC6D6072@ajf.me> <5453B114.6050400@gmail.com> <5453C250.8090803@gmail.com> <5453D6D5.2070705@garfieldtech.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] New Standardized HTTP Interface From: larry@garfieldtech.com (Larry Garfield) On 10/31/14, 1:52 PM, Sherif Ramadan wrote: > So for the purposes of this discussion and in an effort to remain on-topic > and productive, let's keep all of the FIG/PSR and other third party efforts > out of the discussion unless it is intended to improve/help this particular > RFC. Please keep in mind that this is a PHP internals discussion and not a > FIG/PSR discussion. This RFC is about core PHP and I really don't care how > many competing ideas exist out there that are closely or mildly related to > this RFC. Discussing prior-art for a proposal is entirely on topic. We do it all the time when comparing PHP to other languages and their syntax, for example. Internals should be informed by user-space usage patterns. > This RFC has two primary goals in mind: > > 1) Expose the parsing/handling of the HTTP request to userland in a > consistent way It already is. It's the access TO that parsed data that is currently clunky. That's a problem worth addressing. > 2) Avoid having the request parsed/mangled at multiple levels during the > request by presenting one central place to handle the parsing This only applies to the body of a request; other properties have well-defined and not really variable parsing rules called HTTP. A better way to parse the body is useful, and we've been discussing that in FIG. Please look at the existing discussions and prior art before continuing. That's also a much smaller, tighter discussion than request/response interfaces. > These goals can not be achieved purely in userland, because you would > potentially have to do the parsing step twice. I wish to make it possible > for the user to override that with their own implementation just like they > can override the Session handler with the Session interface. > > How we end up deciding to do that may change from my initial proposal, and > that's fine, but let's focus on that rather than getting off topic about > other third party efforts. > > Thanks! Those 3rd party efforts are entirely on topic. That's the point. --Larry Garfield