Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127758 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 747711A00BC for ; Thu, 26 Jun 2025 16:25:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1750955014; bh=iNsrmZbfQAas0gkBp9kjW4UGWLSBF7uRwBJWiHGTmxI=; h=Reply-To:From:Date:Subject:To:From; b=ASklcN74CAnZJwLOS16/pNSGH7cTyzsi4uz8Pk5Mr8ICjJJ3NnwFFu0L0qzzUIvBZ 1OeeYJdHEt5avOSSSYtuYinawdSnD/0W63/l/F0CjwKSf3TWtdF5v8raHTKjHi5U/v KEdCll4Zk49G/i6wY45HTESwAFNm8k85EMNKPSQpEitWHfb7+qr3ggW6PinfqchfFW kEI/Xc0Se8yv7rWzEOP9oeptHLQSeFzkRG8vAmHNrmBO2F98fdDEOV5JWD3YX7tPDo k4Yb4F/7qHoHX22SlS7F363q6qSubW4t5DMWOxYmFV3W2HG7CpCSeDgzZmwqGcuVIv RbpCo6YK/ORWg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 67148180057 for ; Thu, 26 Jun 2025 16:23:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, FREEMAIL_REPLYTO,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.177]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 26 Jun 2025 16:23:23 +0000 (UTC) Received: by mail-il1-f177.google.com with SMTP id e9e14a558f8ab-3df316b5b40so4551165ab.1 for ; Thu, 26 Jun 2025 09:25:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750955117; x=1751559917; darn=lists.php.net; h=to:subject:message-id:date:from:reply-to:mime-version:from:to:cc :subject:date:message-id:reply-to; bh=iNsrmZbfQAas0gkBp9kjW4UGWLSBF7uRwBJWiHGTmxI=; b=bIyMgB/agWNM0KYLgFCCOP6pShUIGzFInntuT4j8S/1T8PplpydDrBqVkZ/BGQ2aM2 S5MOA6eGSo1fWLRjqc+PfhBlarBz3R/0Ztibgc5X3cldPEptGBDPIDCyhKZmP+ahERMT DOC5XttlO8NiJSFI5A/dr8wv/OgPj1Qw4cA7uShy4lXM2wIC8bjTYDiIi79xy3RA+xUe oAaeHzrmlHwtLHAexAOwsGsF/RCVDAgK0q7gYUfEcTyYRQKIrhQsktZYC4AEI+yCB4PV TQZDgt8BtsQXyFhDz5lA/lwLZyLfvhfpBBsnDbVljXqbOmCTmeNxcr3e0PEHTqVzLl6m lXGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750955117; x=1751559917; h=to:subject:message-id:date:from:reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iNsrmZbfQAas0gkBp9kjW4UGWLSBF7uRwBJWiHGTmxI=; b=u8pFDJEgnk13XmkstqmFUy4LD97Gn0QXgivAnehZD9tIbxbkVcCdOfseGzTgVE+2kK /3DJmmo8gPcLFpCchg3CQ24cgQu8aftUG8mIQnxpM3Pz+Yd+Ben7mtBAvDgl52oOtZ9b F5TO+EdiJdmtl+tzJWMg63FFtovU8/x2djWVPhDnSZkVQqFMycEWXksBnnZv5RYgrRzu A5+kSRehMTkyZ5qHTF76S9DaU5vnagGj4ipgV96quq3E1bdg3B4ZdqpgdRzeK1X/XYBW fh7NuLwDC4aESVyQXLZADeATVXC/HD2FnJ69Rs6mgR6w4icZzCOrNkdkBQsmpp1bwwEK 1PpQ== X-Gm-Message-State: AOJu0Yx8DGfPA5TjzTvg4xgLRA0fvJ38YMPPSdUScSUiNN/rZL+f6RsN AXMF59uVaSMrfqwSfHq2yEX+pkDADggMJ0lBt4gRB8HywMQSM5BmBK3nRZu5zUzXndXTJzzK00S 1bLJKBMrHS6+/hvHGd4my24Aoi6V0o1B1DFGD X-Gm-Gg: ASbGncsZ68P88v7csLRVoh4CcuUdzWp2WRI5EbNPUNiVdtIJ2KH5KIr1KcjfpJNRFDW 1VNOrGG9rzKQNNG1ZK9BD2U48Fp6AjZ2sMvOHTwVQFiGd2MEzZmi6j9dkDNikihAQOkOTqUOZYP Ua86GsgO0tC8iKQDJXk9cj4ILL8Xp8+/c29CM/o6ZckgG40+x9aAgnwefKLfUUVAOp9O3+VQYca xLNGQ== X-Google-Smtp-Source: AGHT+IEH0KExnqR5NbRLPQS26qTKYQI6SIMhuZJ3IP4b2CqYdq4+Ew9hqVCL5LUe3UEr/Q4OWIU7THcMwPGOBcfiqZQ= X-Received: by 2002:a05:6e02:3704:b0:3dc:7a9a:4529 with SMTP id e9e14a558f8ab-3df32983e76mr99035925ab.16.1750955117335; Thu, 26 Jun 2025 09:25:17 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Reply-To: erictnorris@gmail.com Date: Thu, 26 Jun 2025 12:25:01 -0400 X-Gm-Features: Ac12FXxWttS6bShedn_UdIt6ajzSN2tsaU033rgaBMEVeAqmEaYHhqyOpBZmxyg Message-ID: Subject: [PHP-DEV] [RFC][DISCUSSION] Object-oriented curl API v2 To: PHP internals Content-Type: text/plain; charset="UTF-8" From: eric.t.norris@gmail.com (Eric Norris) Hello Internals, I'd like to formally propose a restart of the original object-oriented curl API RFC (https://wiki.php.net/rfc/curl-oop): https://wiki.php.net/rfc/curl_oop_v2 The prior RFC seemed to get positive feedback, with a small consensus around wanting enum(s) for curl options. I've taken that feedback and incorporated it into a new RFC, as I am not the original author, but I am interested in making another potential improvement to the curl extension. In a nutshell, this version of the RFC: - uses enumerations for curl options and other curl constants - introduces a new Curl namespace I have not yet created an implementation PR. I realize that is somewhat discouraged, but I believe that this should be relatively straightforward to implement (there's also the previous RFC's PR to build on top of). The implementation of this RFC as it is now will likely be tedious, however, so I'd like to get feedback on the enumeration idea before committing to the work. I've outlined one open question in the RFC, which relates to the above: - Should we organize the curl option enumerations by value type? Or have a single enumeration for all curl_setopt options and another for all curl_multi_setopt options? If others (including the original RFC author) are interested in working with me on this, I'm more than open to that, so please let me know. Thanks, Eric