Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89275 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 28103 invoked from network); 18 Nov 2015 22:31:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2015 22:31:28 -0000 Authentication-Results: pb1.pair.com header.from=me@daveyshafik.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=me@daveyshafik.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain daveyshafik.com from 209.85.160.180 cause and error) X-PHP-List-Original-Sender: me@daveyshafik.com X-Host-Fingerprint: 209.85.160.180 mail-yk0-f180.google.com Received: from [209.85.160.180] ([209.85.160.180:35054] helo=mail-yk0-f180.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F5/D0-21962-E3CFC465 for ; Wed, 18 Nov 2015 17:31:27 -0500 Received: by ykba77 with SMTP id a77so87008817ykb.2 for ; Wed, 18 Nov 2015 14:31:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daveyshafik-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=J5a0Ae0TO0mVKu/57TY45l+qJ51+aqYaPO40TMv4LlI=; b=cv2UOT3Go9z7CF7/3g4g3H1MpXeckf73wwYqNL35Ev46/pIG3mDbCstmjZIYYWxjjt fUK7ArCWCAz26QONsyrpUC5iaQuun2AJbMcSzPZrS/t32QhO+rgYbwT0b/Z/zlod+WfW kYSpHtouI8xie+58+LfmLt+Oq3Jtxqks7j8QQ9x4ceo7Gynd118UdTJTFr7GP06aIdd4 M0OAei7GgIVQmoG/iZAT0C/GiUXb1MWFR+1m2xjH/JDByd0u+p1h939eeocd23EuUiz9 DUA0CxSkvXLQAQ2PYq4g6xdnbMT3W2Jj867PTJ9ngM/R6j/CMyV3NYPJ/UGtz2CvnxbI cicQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:date:message-id:subject:from :to:content-type; bh=J5a0Ae0TO0mVKu/57TY45l+qJ51+aqYaPO40TMv4LlI=; b=lQzUa4vAn4zbzD5qz1dyZDuwdrcCOxA+gLmoViPxHwWRfeoJnl0H0FxvO+31QQ+IvY SAJeeXwHUy1tWu3gpeFjPZajt2DSUUEUWV4vnNzPiE6VQOAl8Q7Fmyynb0VJZdv6j87G 7J2ECI33kpKbBqK0+XzR7Q1Rz6HftxF7V1qP3fwG36/iLDVsJHTcIoXWaiRdGot0XrDl g1R4nbqRSZfS13CgDcI5N71Se1cRg4P68t9oA1tQ3MgqWtUgK7a9jTdgFPCJKGDFMpA3 iD02JGmsBACioglCoj6R+Q4tF5qAjKrxHO6siDR8aYxCnNcWK9wkNLIRfhWyVam9ta0d sNMg== X-Gm-Message-State: ALoCoQnhaxtTYISDdmpjFCEYsqOsx65uUHQOAj6gMVL4BbxqFtbQn6TlxnZT+eO6tmGTVPQQnn05 MIME-Version: 1.0 X-Received: by 10.13.223.151 with SMTP id i145mr4689690ywe.324.1447885883740; Wed, 18 Nov 2015 14:31:23 -0800 (PST) Sender: me@daveyshafik.com Received: by 10.13.253.130 with HTTP; Wed, 18 Nov 2015 14:31:23 -0800 (PST) Date: Wed, 18 Nov 2015 17:31:23 -0500 X-Google-Sender-Auth: RdyZFwEPMgA_jv9HwI3B7KOjtyI Message-ID: To: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=001a114e4a24c6cc680524d8334a Subject: [RFC] HTTP/2 Server Push support in ext/curl From: davey@php.net (Davey Shafik) --001a114e4a24c6cc680524d8334a Content-Type: text/plain; charset=UTF-8 Hey folks, I'd like to introduce a new RFC for 7.1 that will add support for HTTP/2 Server Push to ext/curl. This is exposing new features from libcurl to user land, which means they must have the latest (in fact currently unreleased, due to a bugfix) version of libcurl. For those who are not aware, HTTP/2 support is growing rapidly, and is already available in 60% of browsers, Apache 2 (via mod_h2), nginx, and even IIS. The RFC can be seen here: https://wiki.php.net/rfc/curl_http2_push With the patch at: https://github.com/php/php-src/compare/master...dshafik:curl-http2-push The patch still needs some work, possibly a lot of work due to my inexperience with C. Specifically, there are some memory leaks I've managed to introduce with the headers array stuff (I'm pretty sure, lines 529-535[1]) and there is some duplicated code from interface.c (lines 454-523[2]) that I was unable to refactor out successfully to it's own function. Plus, on the whole it seems incredibly untidy to me. Feedback welcome! - Davey [1] https://github.com/php/php-src/compare/master...dshafik:curl-http2-push#diff-ab7a9164033bd55887d45d0a6cb837eeR529 [2] https://github.com/php/php-src/compare/master...dshafik:curl-http2-push#diff-ab7a9164033bd55887d45d0a6cb837eeR451 --001a114e4a24c6cc680524d8334a--