Plugin Directory

Changeset 3147632


Ignore:
Timestamp:
09/06/2024 02:56:36 PM (19 months ago)
Author:
ilovepdf
Message:

Update to version 2.1.3 from GitHub

Location:
ilovepdf
Files:
110 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ilovepdf/tags/2.1.3/README.md

    r3118395 r3147632  
    1 === PDF Compressor & Watermark - iLovePDF ===
    2 Plugin Name: Image Compressor & Optimizer - iLovePDF
    3 Version: 2.1.2
    4 Author: iLovePDF
    5 Author URI: https://www.ilovepdf.com/
    6 Contributors: iLovePDF
    7 Tags: compress, watermark, optimize, performance, pdf optimizer
    8 Requires at least: 5.3
    9 Tested up to: 6.5.5
    10 Stable tag: 2.1.2
    11 Requires PHP: 7.4
    12 License: GPLv2 or later
    13 License URI: https://www.gnu.org/licenses/gpl-2.0.html
     1# PDF Compressor & Watermark - iLovePDF
    142
    15 Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for Wordpress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.
     3**PDF Compressor & Watermark - iLovePDF** is the official iLovePDF plugin for WordPress. It allows you to automatically compress your PDF files and add watermarks, saving storage space and enhancing your PDF's security.
    164
    17 == Description ==
     5With seamless integration, you can optimize all PDFs in your Media Library and stamp them automatically—just like you do on [iLovePDF.com](https://www.ilovepdf.com/).
    186
    19 ###How it works
     7### Key Features
    208
    21 The plugin has two modes of work, automatic or manual.
    22 Compress PDF: Every time a PDF file is uploaded to your Media Library, is compressed by our iLovePDF API and saved in your WordPress site already optimized, saving you disk space. This feature can be disabled.
     9- **Automatic Compression:** PDFs are compressed upon upload using the iLovePDF API, saving up to 50% storage space without losing quality.
     10- **Watermarking:** Automatically add text or image watermarks to your PDFs upon upload to safeguard your files.
     11- **Manual & Bulk Actions:** Compress or add watermarks to existing PDFs individually or in bulk.
     12- **Easy to Use:** Configure it once, and the plugin handles the rest, automating PDF optimization for future uploads.
    2313
    24 It can also compress all PDF already in your Media Library at once or compress PDF files one by one. The compression ratio depends on the PDF but on average you can save up to 50% of disk space occupied by PDF files without loosing quality.
     14## How It Works
    2515
    26 Watermark PDF: Every time a PDF file is uploaded to your Media Library, is stamped by our iLovePDF API and saved in your WordPress. This feature can be disabled.
    27 It can also stamp images or text in PDF already in your Media Library at once or stamp PDF files one by one.
     16### PDF Compression
    2817
     18- **Automatic:** Every time a PDF is uploaded, it gets compressed via iLovePDF API, reducing file size while maintaining quality. This feature can be toggled off if needed.
     19- **Manual:** Compress PDFs one by one or all at once from the Media Library. On average, compression can save up to 50% of the disk space.
    2920
    30 ###Bulk actions
     21### Watermarking PDFs
    3122
    32 All tools can be done for an individual files or applied to all your existing files.
     23- **Automatic:** Add watermarks to PDFs upon upload. This feature can also be disabled if not required.
     24- **Manual:** Watermark PDFs individually or apply watermarks in bulk to existing files. You can choose between text or image watermarks.
    3325
    34 ###Automatic process
     26### Bulk Actions
    3527
    36 All tools can be applied automatically when a PDF file is upload, so you don't need to apply any manual anymore.
     28Easily apply compression or watermarking actions to multiple files at once, streamlining your file management process. Bulk actions can be performed on all files in the Media Library with a single click.
    3729
    38 == Installation ==
     30### Automatic Processing
    3931
    40 From your Admin panel:
    41 1. Visit Plugins > Add New.
    42 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button.
    43 3. Activate the plugin from your Plugins page.
     32Set up the plugin to apply compression and watermarking automatically for all future PDF uploads, eliminating the need for manual intervention.
    4433
    45 Manual:
    46 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory
    47 2. Activate the plugin through the 'Plugins' menu in WordPress
    48 3. Create a free account in the plugin settings page, or use your existing one
    49 4. Configure the plugin as you like
     34## Installation
    5035
    51 Configure your iLovePDF Developer Account:
    52 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them
     36### From the WordPress Admin Panel:
     371. Navigate to **Plugins > Add New**.
     382. Search for "iLovePDF" and click **Install Now**.
     393. After installation, activate the plugin from your **Plugins page.**
    5340
     41### Manual Installation:
     421. Upload the `ilovepdf` folder to the `/wp-content/plugins/` directory.
     432. Activate the plugin through the **Plugins** menu in WordPress.
     443. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account.
     454. Configure the settings as per your requirements.
    5446
    55 == Frequently Asked Questions ==
     47### iLoveAPI Developer Account Setup:
     48- Go to **Register** to create an iLoveAPI Developer account (or use an existing one if you've already registered at [iLoveAPI Developer](https://iloveapi.com)).
     49- Select a project, which will determine which API keys to use. The "Default Project" is selected by default.
     50- Free accounts can process up to **2500 credits per month**. If more is needed, additional processing can be purchased.
    5651
    57 ###Do I need a iLovePDF account?
    58 
    59 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.
    60 
    61 ###Is this service free?
    62 
    63 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.
    64 
    65 ###What happens when the limit is reached?
    66 
    67 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!
  • ilovepdf/tags/2.1.3/README.txt

    r3118395 r3147632  
    11=== PDF Compressor & Watermark - iLovePDF ===
    22Plugin Name: Image Compressor & Optimizer - iLovePDF
    3 Version: 2.1.2
     3Version: 2.1.3
    44Author: iLovePDF
    55Author URI: https://www.ilovepdf.com/
     
    77Tags: compress, watermark, optimize, performance, pdf optimizer
    88Requires at least: 5.3
    9 Tested up to: 6.5.5
    10 Stable tag: 2.1.2
     9Tested up to: 6.6.1
     10Stable tag: 2.1.3
    1111Requires PHP: 7.4
    1212License: GPLv2 or later
    1313License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1414
    15 A wordpress plugin by iLovePDF.
     15Optimize and protect your PDFs with automatic compression and watermarking. Save space and secure your documents effortlessly.
    1616
    1717== Description ==
     
    4141From your Admin panel:
    42421. Visit Plugins > Add New.
    43 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button.
     432. Search for **ilovePDF** and press the **Install Now** button.
    44443. Activate the plugin from your Plugins page.
    4545
    4646Manual:
    47 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory
     471. Upload `ilovepdf` to the `/wp-content/plugins/` directory
    48482. Activate the plugin through the 'Plugins' menu in WordPress
    49493. Create a free account in the plugin settings page, or use your existing one
    50504. Configure the plugin as you like
    5151
    52 == Configure your iLovePDF Developer Account ==
    53 
    54 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them
    55 
    56 By going to Settings -> iLovePDF -> Compress PDF you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.
    57 
    58 By going to Settings -> iLovePDF -> Watermark PDF you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.
    59 
    60 To Compress or Stamp PDF files that are already in your Media Library go to Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark
     52== Configure your iLoveAPI Developer Account ==
     53
     54Install this plugin and go to `Settings -> iLovePDF` to create your iLoveAPI Developer account (if you already registered previously on [iLoveAPI Developer](https://iloveapi.com) you can login directly) and choose your Project, but by default it will be selected **Default Project**. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLoveAPI developer account. With your iLoveAPI Free account you get 2500 free credits to process per month. If you need more you can purchase them
     55
     56By going to `Settings -> iLovePDF -> Compress PDF` you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.
     57
     58By going to `Settings -> iLovePDF -> Watermark PDF` you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.
     59
     60To Compress or Stamp PDF files that are already in your Media Library go to `Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark`
    6161
    6262== Frequently Asked Questions ==
    6363
    64 = Do I need a iLovePDF account? =
     64= Do I need a iLoveAPI account? =
    6565
    6666Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.
     
    6868= Is this service free? =
    6969
    70 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.
     70With a free account you can process up to 2500 credits each month. If you need more, you can upgrade your account.
    7171
    7272= What happens when the limit is reatched? =
    7373
    74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!
     74We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 2500 credits are free, so in next month you will be able to process more files again!
    7575
    7676== Screenshots ==
    7777
    78781. Create an account or login.
    79 2. Configure your pluggin
    80 3. Bulk actions with existing files
    81 4. PDF actions
     792. Configure Compress PDF.
     803. Configure Watermark PDF.
    8281
    8382== Changelog ==
    8483
    85 == 2.1.2 ==
     84= 2.1.3 =
     85Improved
     86* Update Libraries.
     87* Improved readme texts.
     88* Improved texts when a credential problem occurs.
     89
     90= 2.1.2 =
    8691Improved
    8792* Update Libraries.
     
    9196* A problem was solved with the option to create backup, where in some cases the option was not stored in the database.
    9297
    93 == 2.1.1 ==
     98= 2.1.1 =
    9499Improved
    95100* Update Libraries.
     
    99104* Library was included internally. This will improve file loading and possible CDN blocking in some countries.
    100105
    101 == 2.1.0 ==
     106= 2.1.0 =
    102107Added
    103108* New Backup option added in General Settings. Now the backup works for all tools.
     
    115120* In some cases, when a user logged in, they could get a PHP error or warning.
    116121
    117 == 2.0.5 ==
     122= 2.0.5 =
    118123Improved
    119124* Update Libraries.
    120125* Assets.
    121126
    122 == 2.0.4 ==
     127= 2.0.4 =
    123128Fixed
    124129* Compatibility issue with the Woocommerce plugin.
    125130
    126 == 2.0.3 ==
     131= 2.0.3 =
    127132Fixed
    128133* Specify minimum version of PHP for dependencies.
    129134
    130 == 2.0.2 ==
     135= 2.0.2 =
    131136Added
    132137* Improved class loading.
    133138* Update library ilovepdf to v1.2.2
    134139
    135 == 2.0.1 ==
     140= 2.0.1 =
    136141Changed
    137142* Remove Function Upload duplicate. Caused an error loading pdf files.
  • ilovepdf/tags/2.1.3/admin/functions-compress.php

    r3118395 r3147632  
    115115            $html = 'error_auth';
    116116
    117             if ( $bulk ) {
     117            if ( $bulk || $auto ) {
    118118                $html = 'error_auth';
    119119            }
    120120
    121             if ( $auto ) {
    122                 $html = 'error_auth';
     121            if ( 'Unauthorized (Key may not be empty)' === $e->getMessage() ) {
     122                $html = 'Check your credentials in the plugin settings page. If you recently deleted a project in your iloveapi account, try switching to another project to correctly save your API Keys.';
    123123            }
    124124
  • ilovepdf/tags/2.1.3/ilove-pdf.php

    r3118395 r3147632  
    1616 * Plugin URI:        https://iloveapi.com/
    1717 * Description:       Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.
    18  * Version:           2.1.2
     18 * Version:           2.1.3
    1919 * Requires at least: 5.3
    2020 * Requires PHP:      7.4
  • ilovepdf/tags/2.1.3/includes/Ilove_Pdf.php

    r3118395 r3147632  
    7575
    7676        $this->plugin_name = 'ilove-pdf';
    77         $this->version     = 'wp.2.1.2';
     77        $this->version     = 'wp.2.1.3';
    7878
    7979        $this->load_dependencies();
  • ilovepdf/tags/2.1.3/package.json

    r3118395 r3147632  
    11{
    2   "name": "ilovepdf/ilovepdf-wp",
     2  "name": "@ilovepdf/ilovepdf-wp",
    33  "version": "1.0.0",
    44  "description": "Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.",
     
    1717    "gulp-uglify": "^3.0.2",
    1818    "merge-stream": "^2.0.0",
    19     "sass": "^1.77.7"
     19    "sass": "^1.78"
    2020  }
    2121}
  • ilovepdf/tags/2.1.3/vendor/composer/installed.json

    r3118395 r3147632  
    6969        {
    7070            "name": "guzzlehttp/guzzle",
    71             "version": "7.8.1",
    72             "version_normalized": "7.8.1.0",
     71            "version": "7.9.2",
     72            "version_normalized": "7.9.2.0",
    7373            "source": {
    7474                "type": "git",
    7575                "url": "https://github.com/guzzle/guzzle.git",
    76                 "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
    77             },
    78             "dist": {
    79                 "type": "zip",
    80                 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
    81                 "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
     76                "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
     77            },
     78            "dist": {
     79                "type": "zip",
     80                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
     81                "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
    8282                "shasum": ""
    8383            },
    8484            "require": {
    8585                "ext-json": "*",
    86                 "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
    87                 "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
     86                "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
     87                "guzzlehttp/psr7": "^2.7.0",
    8888                "php": "^7.2.5 || ^8.0",
    8989                "psr/http-client": "^1.0",
     
    9696                "bamarni/composer-bin-plugin": "^1.8.2",
    9797                "ext-curl": "*",
    98                 "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
     98                "guzzle/client-integration-tests": "3.0.2",
    9999                "php-http/message-factory": "^1.1",
    100                 "phpunit/phpunit": "^8.5.36 || ^9.6.15",
     100                "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    101101                "psr/log": "^1.1 || ^2.0 || ^3.0"
    102102            },
     
    106106                "psr/log": "Required for using the Log middleware"
    107107            },
    108             "time": "2023-12-03T20:35:24+00:00",
     108            "time": "2024-07-24T11:22:20+00:00",
    109109            "type": "library",
    110110            "extra": {
     
    178178            "support": {
    179179                "issues": "https://github.com/guzzle/guzzle/issues",
    180                 "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
     180                "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
    181181            },
    182182            "funding": [
     
    198198        {
    199199            "name": "guzzlehttp/promises",
    200             "version": "2.0.2",
    201             "version_normalized": "2.0.2.0",
     200            "version": "2.0.3",
     201            "version_normalized": "2.0.3.0",
    202202            "source": {
    203203                "type": "git",
    204204                "url": "https://github.com/guzzle/promises.git",
    205                 "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
    206             },
    207             "dist": {
    208                 "type": "zip",
    209                 "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
    210                 "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
     205                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
     206            },
     207            "dist": {
     208                "type": "zip",
     209                "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
     210                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
    211211                "shasum": ""
    212212            },
     
    216216            "require-dev": {
    217217                "bamarni/composer-bin-plugin": "^1.8.2",
    218                 "phpunit/phpunit": "^8.5.36 || ^9.6.15"
    219             },
    220             "time": "2023-12-03T20:19:20+00:00",
     218                "phpunit/phpunit": "^8.5.39 || ^9.6.20"
     219            },
     220            "time": "2024-07-18T10:29:17+00:00",
    221221            "type": "library",
    222222            "extra": {
     
    264264            "support": {
    265265                "issues": "https://github.com/guzzle/promises/issues",
    266                 "source": "https://github.com/guzzle/promises/tree/2.0.2"
     266                "source": "https://github.com/guzzle/promises/tree/2.0.3"
    267267            },
    268268            "funding": [
     
    284284        {
    285285            "name": "guzzlehttp/psr7",
    286             "version": "2.6.2",
    287             "version_normalized": "2.6.2.0",
     286            "version": "2.7.0",
     287            "version_normalized": "2.7.0.0",
    288288            "source": {
    289289                "type": "git",
    290290                "url": "https://github.com/guzzle/psr7.git",
    291                 "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
    292             },
    293             "dist": {
    294                 "type": "zip",
    295                 "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
    296                 "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
     291                "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
     292            },
     293            "dist": {
     294                "type": "zip",
     295                "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
     296                "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
    297297                "shasum": ""
    298298            },
     
    309309            "require-dev": {
    310310                "bamarni/composer-bin-plugin": "^1.8.2",
    311                 "http-interop/http-factory-tests": "^0.9",
    312                 "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     311                "http-interop/http-factory-tests": "0.9.0",
     312                "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    313313            },
    314314            "suggest": {
    315315                "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
    316316            },
    317             "time": "2023-12-03T20:05:35+00:00",
     317            "time": "2024-07-18T11:15:46+00:00",
    318318            "type": "library",
    319319            "extra": {
     
    383383            "support": {
    384384                "issues": "https://github.com/guzzle/psr7/issues",
    385                 "source": "https://github.com/guzzle/psr7/tree/2.6.2"
     385                "source": "https://github.com/guzzle/psr7/tree/2.7.0"
    386386            },
    387387            "funding": [
     
    454454        {
    455455            "name": "php-stubs/wordpress-stubs",
    456             "version": "v6.5.3",
    457             "version_normalized": "6.5.3.0",
     456            "version": "v6.6.0",
     457            "version_normalized": "6.6.0.0",
    458458            "source": {
    459459                "type": "git",
    460460                "url": "https://github.com/php-stubs/wordpress-stubs.git",
    461                 "reference": "e611a83292d02055a25f83291a98fadd0c21e092"
    462             },
    463             "dist": {
    464                 "type": "zip",
    465                 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/e611a83292d02055a25f83291a98fadd0c21e092",
    466                 "reference": "e611a83292d02055a25f83291a98fadd0c21e092",
     461                "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2"
     462            },
     463            "dist": {
     464                "type": "zip",
     465                "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2",
     466                "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2",
    467467                "shasum": ""
    468468            },
     
    470470                "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
    471471                "nikic/php-parser": "^4.13",
    472                 "php": "^7.4 || ~8.0.0",
     472                "php": "^7.4 || ^8.0",
    473473                "php-stubs/generator": "^0.8.3",
    474                 "phpdocumentor/reflection-docblock": "5.3",
     474                "phpdocumentor/reflection-docblock": "^5.4.1",
    475475                "phpstan/phpstan": "^1.10.49",
    476476                "phpunit/phpunit": "^9.5",
    477                 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11"
     477                "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
     478                "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
    478479            },
    479480            "suggest": {
     
    482483                "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan"
    483484            },
    484             "time": "2024-05-08T02:12:31+00:00",
     485            "time": "2024-07-17T08:50:38+00:00",
    485486            "type": "library",
    486487            "installation-source": "dist",
     
    498499            "support": {
    499500                "issues": "https://github.com/php-stubs/wordpress-stubs/issues",
    500                 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.5.3"
     501                "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0"
    501502            },
    502503            "install-path": "../php-stubs/wordpress-stubs"
     
    504505        {
    505506            "name": "phpstan/extension-installer",
    506             "version": "1.4.1",
    507             "version_normalized": "1.4.1.0",
     507            "version": "1.4.3",
     508            "version_normalized": "1.4.3.0",
    508509            "source": {
    509510                "type": "git",
    510511                "url": "https://github.com/phpstan/extension-installer.git",
    511                 "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203"
    512             },
    513             "dist": {
    514                 "type": "zip",
    515                 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
    516                 "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
     512                "reference": "85e90b3942d06b2326fba0403ec24fe912372936"
     513            },
     514            "dist": {
     515                "type": "zip",
     516                "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936",
     517                "reference": "85e90b3942d06b2326fba0403ec24fe912372936",
    517518                "shasum": ""
    518519            },
     
    520521                "composer-plugin-api": "^2.0",
    521522                "php": "^7.2 || ^8.0",
    522                 "phpstan/phpstan": "^1.9.0"
     523                "phpstan/phpstan": "^1.9.0 || ^2.0"
    523524            },
    524525            "require-dev": {
     
    527528                "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
    528529            },
    529             "time": "2024-06-10T08:20:49+00:00",
     530            "time": "2024-09-04T20:21:43+00:00",
    530531            "type": "composer-plugin",
    531532            "extra": {
     
    543544            ],
    544545            "description": "Composer plugin for automatic installation of PHPStan extensions",
     546            "keywords": [
     547                "dev",
     548                "static analysis"
     549            ],
    545550            "support": {
    546551                "issues": "https://github.com/phpstan/extension-installer/issues",
    547                 "source": "https://github.com/phpstan/extension-installer/tree/1.4.1"
     552                "source": "https://github.com/phpstan/extension-installer/tree/1.4.3"
    548553            },
    549554            "install-path": "../phpstan/extension-installer"
     
    551556        {
    552557            "name": "phpstan/phpstan",
    553             "version": "1.11.7",
    554             "version_normalized": "1.11.7.0",
     558            "version": "1.12.2",
     559            "version_normalized": "1.12.2.0",
    555560            "source": {
    556561                "type": "git",
    557562                "url": "https://github.com/phpstan/phpstan.git",
    558                 "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d"
    559             },
    560             "dist": {
    561                 "type": "zip",
    562                 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d",
    563                 "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d",
     563                "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1"
     564            },
     565            "dist": {
     566                "type": "zip",
     567                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1",
     568                "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1",
    564569                "shasum": ""
    565570            },
     
    570575                "phpstan/phpstan-shim": "*"
    571576            },
    572             "time": "2024-07-06T11:17:41+00:00",
     577            "time": "2024-09-05T16:09:28+00:00",
    573578            "bin": [
    574579                "phpstan",
     
    977982        {
    978983            "name": "szepeviktor/phpstan-wordpress",
    979             "version": "v1.3.4",
    980             "version_normalized": "1.3.4.0",
     984            "version": "v1.3.5",
     985            "version_normalized": "1.3.5.0",
    981986            "source": {
    982987                "type": "git",
    983988                "url": "https://github.com/szepeviktor/phpstan-wordpress.git",
    984                 "reference": "891d0767855a32c886a439efae090408cc1fa156"
    985             },
    986             "dist": {
    987                 "type": "zip",
    988                 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/891d0767855a32c886a439efae090408cc1fa156",
    989                 "reference": "891d0767855a32c886a439efae090408cc1fa156",
     989                "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7"
     990            },
     991            "dist": {
     992                "type": "zip",
     993                "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7",
     994                "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7",
    990995                "shasum": ""
    991996            },
     
    10021007                "phpstan/phpstan-strict-rules": "^1.2",
    10031008                "phpunit/phpunit": "^8.0 || ^9.0",
    1004                 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8"
     1009                "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
     1010                "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
    10051011            },
    10061012            "suggest": {
    10071013                "swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods"
    10081014            },
    1009             "time": "2024-03-21T16:32:59+00:00",
     1015            "time": "2024-06-28T22:27:19+00:00",
    10101016            "type": "phpstan-extension",
    10111017            "extra": {
     
    10361042            "support": {
    10371043                "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues",
    1038                 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.4"
     1044                "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5"
    10391045            },
    10401046            "install-path": "../szepeviktor/phpstan-wordpress"
  • ilovepdf/tags/2.1.3/vendor/composer/installed.php

    r3118395 r3147632  
    44        'pretty_version' => 'dev-develop',
    55        'version' => 'dev-develop',
    6         'reference' => 'c465fc260ea39457acb659733b1f8cb99325ae4a',
     6        'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    2121        ),
    2222        'guzzlehttp/guzzle' => array(
    23             'pretty_version' => '7.8.1',
    24             'version' => '7.8.1.0',
    25             'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104',
     23            'pretty_version' => '7.9.2',
     24            'version' => '7.9.2.0',
     25            'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b',
    2626            'type' => 'library',
    2727            'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
     
    3030        ),
    3131        'guzzlehttp/promises' => array(
    32             'pretty_version' => '2.0.2',
    33             'version' => '2.0.2.0',
    34             'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223',
     32            'pretty_version' => '2.0.3',
     33            'version' => '2.0.3.0',
     34            'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../guzzlehttp/promises',
     
    3939        ),
    4040        'guzzlehttp/psr7' => array(
    41             'pretty_version' => '2.6.2',
    42             'version' => '2.6.2.0',
    43             'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221',
     41            'pretty_version' => '2.7.0',
     42            'version' => '2.7.0.0',
     43            'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201',
    4444            'type' => 'library',
    4545            'install_path' => __DIR__ . '/../guzzlehttp/psr7',
     
    5959            'pretty_version' => 'dev-develop',
    6060            'version' => 'dev-develop',
    61             'reference' => 'c465fc260ea39457acb659733b1f8cb99325ae4a',
     61            'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3',
    6262            'type' => 'wordpress-plugin',
    6363            'install_path' => __DIR__ . '/../../',
     
    6666        ),
    6767        'php-stubs/wordpress-stubs' => array(
    68             'pretty_version' => 'v6.5.3',
    69             'version' => '6.5.3.0',
    70             'reference' => 'e611a83292d02055a25f83291a98fadd0c21e092',
     68            'pretty_version' => 'v6.6.0',
     69            'version' => '6.6.0.0',
     70            'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2',
    7171            'type' => 'library',
    7272            'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs',
     
    7575        ),
    7676        'phpstan/extension-installer' => array(
    77             'pretty_version' => '1.4.1',
    78             'version' => '1.4.1.0',
    79             'reference' => 'f6b87faf9fc7978eab2f7919a8760bc9f58f9203',
     77            'pretty_version' => '1.4.3',
     78            'version' => '1.4.3.0',
     79            'reference' => '85e90b3942d06b2326fba0403ec24fe912372936',
    8080            'type' => 'composer-plugin',
    8181            'install_path' => __DIR__ . '/../phpstan/extension-installer',
     
    8484        ),
    8585        'phpstan/phpstan' => array(
    86             'pretty_version' => '1.11.7',
    87             'version' => '1.11.7.0',
    88             'reference' => '52d2bbfdcae7f895915629e4694e9497d0f8e28d',
     86            'pretty_version' => '1.12.2',
     87            'version' => '1.12.2.0',
     88            'reference' => '0ca1c7bb55fca8fe6448f16fff0f311ccec960a1',
    8989            'type' => 'library',
    9090            'install_path' => __DIR__ . '/../phpstan/phpstan',
     
    165165        ),
    166166        'szepeviktor/phpstan-wordpress' => array(
    167             'pretty_version' => 'v1.3.4',
    168             'version' => '1.3.4.0',
    169             'reference' => '891d0767855a32c886a439efae090408cc1fa156',
     167            'pretty_version' => 'v1.3.5',
     168            'version' => '1.3.5.0',
     169            'reference' => '7f8cfe992faa96b6a33bbd75c7bace98864161e7',
    170170            'type' => 'phpstan-extension',
    171171            'install_path' => __DIR__ . '/../szepeviktor/phpstan-wordpress',
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/CHANGELOG.md

    r3017109 r3147632  
    22
    33Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
     4
     5
     6## 7.9.2 - 2024-07-24
     7
     8### Fixed
     9
     10- Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0
     11
     12
     13## 7.9.1 - 2024-07-19
     14
     15### Fixed
     16
     17- Fix TLS 1.3 check for HTTP/2 requests
     18
     19
     20## 7.9.0 - 2024-07-18
     21
     22### Changed
     23
     24- Improve protocol version checks to provide feedback around unsupported protocols
     25- Only select the cURL handler by default if 7.34.0 or higher is linked
     26- Improved `CurlMultiHandler` to avoid busy wait if possible
     27- Dropped support for EOL `guzzlehttp/psr7` v1
     28- Improved URI user info redaction in errors
     29
     30## 7.8.2 - 2024-07-18
     31
     32### Added
     33
     34- Support for PHP 8.4
    435
    536
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/README.md

    r3017109 r3147632  
    6363| Version | Status              | Packagist           | Namespace    | Repo                | Docs                | PSR-7 | PHP Version  |
    6464|---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------|
    65 | 3.x     | EOL                 | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
    66 | 4.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
    67 | 5.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
    68 | 6.x     | Security fixes only | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
    69 | 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.4 |
     65| 3.x     | EOL (2016-10-31)    | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
     66| 4.x     | EOL (2016-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
     67| 5.x     | EOL (2019-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
     68| 6.x     | EOL (2023-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
     69| 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.5 |
    7070
    7171[guzzle-3-repo]: https://github.com/guzzle/guzzle3
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/composer.json

    r3017109 r3147632  
    5151        }
    5252    ],
     53    "repositories": [
     54        {
     55            "type": "package",
     56            "package": {
     57                "name": "guzzle/client-integration-tests",
     58                "version": "v3.0.2",
     59                "dist": {
     60                    "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee",
     61                    "type": "zip"
     62                },
     63                "require": {
     64                    "php": "^7.2.5 || ^8.0",
     65                    "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11",
     66                    "php-http/message": "^1.0 || ^2.0",
     67                    "guzzlehttp/psr7": "^1.7 || ^2.0",
     68                    "th3n3rd/cartesian-product": "^0.3"
     69                },
     70                "autoload": {
     71                    "psr-4": {
     72                        "Http\\Client\\Tests\\": "src/"
     73                    }
     74                },
     75                "bin": [
     76                    "bin/http_test_server"
     77                ]
     78            }
     79        }
     80    ],
    5381    "require": {
    5482        "php": "^7.2.5 || ^8.0",
    5583        "ext-json": "*",
    56         "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
    57         "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
     84        "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
     85        "guzzlehttp/psr7": "^2.7.0",
    5886        "psr/http-client": "^1.0",
    5987        "symfony/deprecation-contracts": "^2.2 || ^3.0"
     
    6593        "ext-curl": "*",
    6694        "bamarni/composer-bin-plugin": "^1.8.2",
    67         "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
     95        "guzzle/client-integration-tests": "3.0.2",
    6896        "php-http/message-factory": "^1.1",
    69         "phpunit/phpunit": "^8.5.36 || ^9.6.15",
     97        "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    7098        "psr/log": "^1.1 || ^2.0 || ^3.0"
    7199    },
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/BodySummarizer.php

    r2995378 r3147632  
    1212    private $truncateAt;
    1313
    14     public function __construct(int $truncateAt = null)
     14    public function __construct(?int $truncateAt = null)
    1515    {
    1616        $this->truncateAt = $truncateAt;
     
    2323    {
    2424        return $this->truncateAt === null
    25             ? \GuzzleHttp\Psr7\Message::bodySummary($message)
    26             : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
     25            ? Psr7\Message::bodySummary($message)
     26            : Psr7\Message::bodySummary($message, $this->truncateAt);
    2727    }
    2828}
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Client.php

    r2995378 r3147632  
    5353     * @param array $config Client configuration settings.
    5454     *
    55      * @see \GuzzleHttp\RequestOptions for a list of available request options.
     55     * @see RequestOptions for a list of available request options.
    5656     */
    5757    public function __construct(array $config = [])
     
    203203     * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
    204204     */
    205     public function getConfig(string $option = null)
     205    public function getConfig(?string $option = null)
    206206    {
    207207        return $option === null
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/ClientInterface.php

    r2995378 r3147632  
    8181     * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
    8282     */
    83     public function getConfig(string $option = null);
     83    public function getConfig(?string $option = null);
    8484}
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php

    r3017109 r3147632  
    104104    }
    105105
    106     public function clear(string $domain = null, string $path = null, string $name = null): void
     106    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
    107107    {
    108108        if (!$domain) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php

    r2995378 r3147632  
    6363     * @param string|null $name   Clears cookies matching a domain, path, and name
    6464     */
    65     public function clear(string $domain = null, string $path = null, string $name = null): void;
     65    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
    6666
    6767    /**
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php

    r2995378 r3147632  
    1515        RequestInterface $request,
    1616        ResponseInterface $response,
    17         \Throwable $previous = null,
     17        ?\Throwable $previous = null,
    1818        array $handlerContext = []
    1919    ) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php

    r2995378 r3147632  
    2626        string $message,
    2727        RequestInterface $request,
    28         \Throwable $previous = null,
     28        ?\Throwable $previous = null,
    2929        array $handlerContext = []
    3030    ) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php

    r2995378 r3147632  
    88use Psr\Http\Message\RequestInterface;
    99use Psr\Http\Message\ResponseInterface;
    10 use Psr\Http\Message\UriInterface;
    1110
    1211/**
     
    3332        string $message,
    3433        RequestInterface $request,
    35         ResponseInterface $response = null,
    36         \Throwable $previous = null,
     34        ?ResponseInterface $response = null,
     35        ?\Throwable $previous = null,
    3736        array $handlerContext = []
    3837    ) {
     
    6463    public static function create(
    6564        RequestInterface $request,
    66         ResponseInterface $response = null,
    67         \Throwable $previous = null,
     65        ?ResponseInterface $response = null,
     66        ?\Throwable $previous = null,
    6867        array $handlerContext = [],
    69         BodySummarizerInterface $bodySummarizer = null
     68        ?BodySummarizerInterface $bodySummarizer = null
    7069    ): self {
    7170        if (!$response) {
     
    9190        }
    9291
    93         $uri = $request->getUri();
    94         $uri = static::obfuscateUri($uri);
     92        $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri());
    9593
    9694        // Client Error: `GET /` resulted in a `404 Not Found` response:
     
    112110
    113111        return new $className($message, $request, $response, $previous, $handlerContext);
    114     }
    115 
    116     /**
    117      * Obfuscates URI if there is a username and a password present
    118      */
    119     private static function obfuscateUri(UriInterface $uri): UriInterface
    120     {
    121         $userInfo = $uri->getUserInfo();
    122 
    123         if (false !== ($pos = \strpos($userInfo, ':'))) {
    124             return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
    125         }
    126 
    127         return $uri;
    128112    }
    129113
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php

    r3017109 r3147632  
    1212use GuzzleHttp\Utils;
    1313use Psr\Http\Message\RequestInterface;
     14use Psr\Http\Message\UriInterface;
    1415
    1516/**
     
    4748    public function create(RequestInterface $request, array $options): EasyHandle
    4849    {
     50        $protocolVersion = $request->getProtocolVersion();
     51
     52        if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
     53            if (!self::supportsHttp2()) {
     54                throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request);
     55            }
     56        } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
     57            throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request);
     58        }
     59
    4960        if (isset($options['curl']['body_as_string'])) {
    5061            $options['_body_as_string'] = $options['curl']['body_as_string'];
     
    7182
    7283        return $easy;
     84    }
     85
     86    private static function supportsHttp2(): bool
     87    {
     88        static $supportsHttp2 = null;
     89
     90        if (null === $supportsHttp2) {
     91            $supportsHttp2 = self::supportsTls12()
     92                && defined('CURL_VERSION_HTTP2')
     93                && (\CURL_VERSION_HTTP2 & \curl_version()['features']);
     94        }
     95
     96        return $supportsHttp2;
     97    }
     98
     99    private static function supportsTls12(): bool
     100    {
     101        static $supportsTls12 = null;
     102
     103        if (null === $supportsTls12) {
     104            $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features'];
     105        }
     106
     107        return $supportsTls12;
     108    }
     109
     110    private static function supportsTls13(): bool
     111    {
     112        static $supportsTls13 = null;
     113
     114        if (null === $supportsTls13) {
     115            $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3')
     116                && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']);
     117        }
     118
     119        return $supportsTls13;
    73120    }
    74121
     
    148195            'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
    149196        ] + \curl_getinfo($easy->handle);
    150         $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
     197        $ctx[self::CURL_VERSION_STR] = self::getCurlVersion();
    151198        $factory->release($easy);
    152199
     
    157204
    158205        return self::createRejection($easy, $ctx);
     206    }
     207
     208    private static function getCurlVersion(): string
     209    {
     210        static $curlVersion = null;
     211
     212        if (null === $curlVersion) {
     213            $curlVersion = \curl_version()['version'];
     214        }
     215
     216        return $curlVersion;
    159217    }
    160218
     
    195253        }
    196254
     255        $uri = $easy->request->getUri();
     256
     257        $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri);
     258
    197259        $message = \sprintf(
    198260            'cURL error %s: %s (%s)',
    199261            $ctx['errno'],
    200             $ctx['error'],
     262            $sanitizedError,
    201263            'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
    202264        );
    203         $uriString = (string) $easy->request->getUri();
    204         if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) {
    205             $message .= \sprintf(' for %s', $uriString);
     265
     266        if ('' !== $sanitizedError) {
     267            $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString();
     268            if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) {
     269                $message .= \sprintf(' for %s', $redactedUriString);
     270            }
    206271        }
    207272
     
    212277
    213278        return P\Create::rejectionFor($error);
     279    }
     280
     281    private static function sanitizeCurlError(string $error, UriInterface $uri): string
     282    {
     283        if ('' === $error) {
     284            return $error;
     285        }
     286
     287        $baseUri = $uri->withQuery('')->withFragment('');
     288        $baseUriString = $baseUri->__toString();
     289
     290        if ('' === $baseUriString) {
     291            return $error;
     292        }
     293
     294        $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString();
     295
     296        return str_replace($baseUriString, $redactedUriString, $error);
    214297    }
    215298
     
    233316
    234317        $version = $easy->request->getProtocolVersion();
    235         if ($version == 1.1) {
     318
     319        if ('2' === $version || '2.0' === $version) {
     320            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
     321        } elseif ('1.1' === $version) {
    236322            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
    237         } elseif ($version == 2.0) {
    238             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
    239323        } else {
    240324            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
     
    391475                // sets a matching 'Accept-Encoding' header.
    392476                $conf[\CURLOPT_ENCODING] = '';
    393                 // But as the user did not specify any acceptable encodings we need
    394                 // to overwrite this implicit header with an empty one.
     477                // But as the user did not specify any encoding preference,
     478                // let's leave it up to server by preventing curl from sending
     479                // the header, which will be interpreted as 'Accept-Encoding: *'.
     480                // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding
    395481                $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
    396482            }
     
    456542
    457543        if (isset($options['crypto_method'])) {
    458             if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
    459                 if (!defined('CURL_SSLVERSION_TLSv1_0')) {
    460                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL');
    461                 }
     544            $protocolVersion = $easy->request->getProtocolVersion();
     545
     546            // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2
     547            if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
     548                if (
     549                    \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']
     550                    || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']
     551                    || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']
     552                ) {
     553                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
     554                } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
     555                    if (!self::supportsTls13()) {
     556                        throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
     557                    }
     558                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;
     559                } else {
     560                    throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided');
     561                }
     562            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
    462563                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0;
    463564            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) {
    464                 if (!defined('CURL_SSLVERSION_TLSv1_1')) {
    465                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');
    466                 }
    467565                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1;
    468566            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) {
    469                 if (!defined('CURL_SSLVERSION_TLSv1_2')) {
     567                if (!self::supportsTls12()) {
    470568                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL');
    471569                }
    472570                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
    473571            } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
    474                 if (!defined('CURL_SSLVERSION_TLSv1_3')) {
     572                if (!self::supportsTls13()) {
    475573                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
    476574                }
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php

    r2995378 r3147632  
    33namespace GuzzleHttp\Handler;
    44
     5use Closure;
    56use GuzzleHttp\Promise as P;
    67use GuzzleHttp\Promise\Promise;
     
    160161        }
    161162
     163        // Run curl_multi_exec in the queue to enable other async tasks to run
     164        P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
     165
    162166        // Step through the task queue which may add additional requests.
    163167        P\Utils::queue()->run();
     
    170174
    171175        while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
     176            // Prevent busy looping for slow HTTP requests.
     177            \curl_multi_select($this->_mh, $this->selectTimeout);
    172178        }
    173179
    174180        $this->processMessages();
     181    }
     182
     183    /**
     184     * Runs \curl_multi_exec() inside the event loop, to prevent busy looping
     185     */
     186    private function tickInQueue(): void
     187    {
     188        if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
     189            \curl_multi_select($this->_mh, 0);
     190            P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
     191        }
    175192    }
    176193
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php

    r2995378 r3147632  
    5353     * @param callable|null $onRejected  Callback to invoke when the return value is rejected.
    5454     */
    55     public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack
     55    public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack
    5656    {
    5757        return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
     
    6060    /**
    6161     * The passed in value must be an array of
    62      * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
     62     * {@see ResponseInterface} objects, Exceptions,
    6363     * callables, or Promises.
    6464     *
     
    6767     * @param callable|null          $onRejected  Callback to invoke when the return value is rejected.
    6868     */
    69     public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
     69    public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null)
    7070    {
    7171        $this->onFulfilled = $onFulfilled;
     
    201201        RequestInterface $request,
    202202        array $options,
    203         ResponseInterface $response = null,
     203        ?ResponseInterface $response = null,
    204204        $reason = null
    205205    ): void {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php

    r2995378 r3147632  
    3939        if (isset($options['delay'])) {
    4040            \usleep($options['delay'] * 1000);
     41        }
     42
     43        $protocolVersion = $request->getProtocolVersion();
     44
     45        if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
     46            throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request);
    4147        }
    4248
     
    8490        RequestInterface $request,
    8591        ?float $startTime,
    86         ResponseInterface $response = null,
    87         \Throwable $error = null
     92        ?ResponseInterface $response = null,
     93        ?\Throwable $error = null
    8894    ): void {
    8995        if (isset($options['on_stats'])) {
     
    274280        // HTTP/1.1 streams using the PHP stream wrapper require a
    275281        // Connection: close header
    276         if ($request->getProtocolVersion() == '1.1'
     282        if ($request->getProtocolVersion() === '1.1'
    277283            && !$request->hasHeader('Connection')
    278284        ) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/HandlerStack.php

    r2995378 r3147632  
    4545     *                                                                            system will be utilized.
    4646     */
    47     public static function create(callable $handler = null): self
     47    public static function create(?callable $handler = null): self
    4848    {
    4949        $stack = new self($handler ?: Utils::chooseHandler());
     
    5959     * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
    6060     */
    61     public function __construct(callable $handler = null)
     61    public function __construct(?callable $handler = null)
    6262    {
    6363        $this->handler = $handler;
     
    132132     * @param string                       $name       Name to register for this middleware.
    133133     */
    134     public function unshift(callable $middleware, string $name = null): void
     134    public function unshift(callable $middleware, ?string $name = null): void
    135135    {
    136136        \array_unshift($this->stack, [$middleware, $name]);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatter.php

    r2995378 r3147632  
    6969     * @param \Throwable|null        $error    Exception that was received
    7070     */
    71     public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string
     71    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string
    7272    {
    7373        $cache = [];
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php

    r2995378 r3147632  
    1515     * @param \Throwable|null        $error    Exception that was received
    1616     */
    17     public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string;
     17    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string;
    1818}
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Middleware.php

    r2995378 r3147632  
    5656     * @return callable(callable): callable Returns a function that accepts the next handler.
    5757     */
    58     public static function httpErrors(BodySummarizerInterface $bodySummarizer = null): callable
     58    public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable
    5959    {
    6060        return static function (callable $handler) use ($bodySummarizer): callable {
     
    133133     * @return callable Returns a function that accepts the next handler.
    134134     */
    135     public static function tap(callable $before = null, callable $after = null): callable
     135    public static function tap(?callable $before = null, ?callable $after = null): callable
    136136    {
    137137        return static function (callable $handler) use ($before, $after): callable {
     
    177177     * @return callable Returns a function that accepts the next handler.
    178178     */
    179     public static function retry(callable $decider, callable $delay = null): callable
     179    public static function retry(callable $decider, ?callable $delay = null): callable
    180180    {
    181181        return static function (callable $handler) use ($decider, $delay): RetryMiddleware {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php

    r2995378 r3147632  
    7777        $expect = $options['expect'] ?? null;
    7878
    79         // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
    80         if ($expect === false || $request->getProtocolVersion() < 1.1) {
     79        // Return if disabled or using HTTP/1.0
     80        if ($expect === false || $request->getProtocolVersion() === '1.0') {
    8181            return;
    8282        }
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/RequestOptions.php

    r3017109 r3147632  
    6262     * jar to use or what cookies to send. This option only works if your
    6363     * handler has the `cookie` middleware. Valid values are `false` and
    64      * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.
     64     * an instance of {@see Cookie\CookieJarInterface}.
    6565     */
    6666    public const COOKIES = 'cookies';
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php

    r2995378 r3147632  
    4141     *                                                                         milliseconds to delay.
    4242     */
    43     public function __construct(callable $decider, callable $nextHandler, callable $delay = null)
     43    public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null)
    4444    {
    4545        $this->decider = $decider;
     
    111111    }
    112112
    113     private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface
     113    private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface
    114114    {
    115115        $options['delay'] = ($this->delay)(++$options['retries'], $response, $request);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/TransferStats.php

    r2995378 r3147632  
    4747    public function __construct(
    4848        RequestInterface $request,
    49         ResponseInterface $response = null,
    50         float $transferTime = null,
     49        ?ResponseInterface $response = null,
     50        ?float $transferTime = null,
    5151        $handlerErrorData = null,
    5252        array $handlerStats = []
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Utils.php

    r3017109 r3147632  
    7272        }
    7373
    74         return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
     74        return Psr7\Utils::tryFopen('php://output', 'w');
    7575    }
    7676
     
    8888        $handler = null;
    8989
    90         if (\defined('CURLOPT_CUSTOMREQUEST')) {
     90        if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) {
    9191            if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
    9292                $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/CHANGELOG.md

    r3017109 r3147632  
    11# CHANGELOG
     2
     3
     4## 2.0.3 - 2024-07-18
     5
     6### Changed
     7
     8- PHP 8.4 support
    29
    310
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/README.md

    r2995378 r3147632  
    3939## Version Guidance
    4040
    41 | Version | Status                 | PHP Version  |
    42 |---------|------------------------|--------------|
    43 | 1.x     | Bug and security fixes | >=5.5,<8.3   |
    44 | 2.x     | Latest                 | >=7.2.5,<8.4 |
     41| Version | Status              | PHP Version  |
     42|---------|---------------------|--------------|
     43| 1.x     | Security fixes only | >=5.5,<8.3   |
     44| 2.x     | Latest              | >=7.2.5,<8.5 |
    4545
    4646
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/composer.json

    r3017109 r3147632  
    3131    "require-dev": {
    3232        "bamarni/composer-bin-plugin": "^1.8.2",
    33         "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     33        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    3434    },
    3535    "autoload": {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Coroutine.php

    r2995378 r3147632  
    8585
    8686    public function then(
    87         callable $onFulfilled = null,
    88         callable $onRejected = null
     87        ?callable $onFulfilled = null,
     88        ?callable $onRejected = null
    8989    ): PromiseInterface {
    9090        return $this->result->then($onFulfilled, $onRejected);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Each.php

    r3017109 r3147632  
    2424    public static function of(
    2525        $iterable,
    26         callable $onFulfilled = null,
    27         callable $onRejected = null
     26        ?callable $onFulfilled = null,
     27        ?callable $onRejected = null
    2828    ): PromiseInterface {
    2929        return (new EachPromise($iterable, [
     
    4747        $iterable,
    4848        $concurrency,
    49         callable $onFulfilled = null,
    50         callable $onRejected = null
     49        ?callable $onFulfilled = null,
     50        ?callable $onRejected = null
    5151    ): PromiseInterface {
    5252        return (new EachPromise($iterable, [
     
    6868        $iterable,
    6969        $concurrency,
    70         callable $onFulfilled = null
     70        ?callable $onFulfilled = null
    7171    ): PromiseInterface {
    7272        return self::ofLimit(
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/FulfilledPromise.php

    r2995378 r3147632  
    3232
    3333    public function then(
    34         callable $onFulfilled = null,
    35         callable $onRejected = null
     34        ?callable $onFulfilled = null,
     35        ?callable $onRejected = null
    3636    ): PromiseInterface {
    3737        // Return itself if there is no onFulfilled function.
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Promise.php

    r2995378 r3147632  
    2626     */
    2727    public function __construct(
    28         callable $waitFn = null,
    29         callable $cancelFn = null
     28        ?callable $waitFn = null,
     29        ?callable $cancelFn = null
    3030    ) {
    3131        $this->waitFn = $waitFn;
     
    3434
    3535    public function then(
    36         callable $onFulfilled = null,
    37         callable $onRejected = null
     36        ?callable $onFulfilled = null,
     37        ?callable $onRejected = null
    3838    ): PromiseInterface {
    3939        if ($this->state === self::PENDING) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/PromiseInterface.php

    r2995378 r3147632  
    2828     */
    2929    public function then(
    30         callable $onFulfilled = null,
    31         callable $onRejected = null
     30        ?callable $onFulfilled = null,
     31        ?callable $onRejected = null
    3232    ): PromiseInterface;
    3333
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/RejectedPromise.php

    r2995378 r3147632  
    3232
    3333    public function then(
    34         callable $onFulfilled = null,
    35         callable $onRejected = null
     34        ?callable $onFulfilled = null,
     35        ?callable $onRejected = null
    3636    ): PromiseInterface {
    3737        // If there's no onRejected callback then just return self.
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/RejectionException.php

    r3017109 r3147632  
    1919     * @param string|null $description Optional description.
    2020     */
    21     public function __construct($reason, string $description = null)
     21    public function __construct($reason, ?string $description = null)
    2222    {
    2323        $this->reason = $reason;
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Utils.php

    r2995378 r3147632  
    2222     * @param TaskQueueInterface|null $assign Optionally specify a new queue instance.
    2323     */
    24     public static function queue(TaskQueueInterface $assign = null): TaskQueueInterface
     24    public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface
    2525    {
    2626        static $queue;
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/CHANGELOG.md

    r3017109 r3147632  
    55The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    66and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     7
     8## 2.7.0 - 2024-07-18
     9
     10### Added
     11
     12- Add `Utils::redactUserInfo()` method
     13- Add ability to encode bools as ints in `Query::build`
     14
     15## 2.6.3 - 2024-07-18
     16
     17### Fixed
     18
     19- Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null`
     20
     21### Changed
     22
     23- PHP 8.4 support
    724
    825## 2.6.2 - 2023-12-03
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/README.md

    r3017109 r3147632  
    2525| Version | Status              | PHP Version  |
    2626|---------|---------------------|--------------|
    27 | 1.x     | Security fixes only | >=5.4,<8.1   |
    28 | 2.x     | Latest              | >=7.2.5,<8.4 |
     27| 1.x     | EOL (2024-06-30)    | >=5.4,<8.2   |
     28| 2.x     | Latest              | >=7.2.5,<8.5 |
    2929
    3030
     
    437437## `GuzzleHttp\Psr7\Query::build`
    438438
    439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986): string`
     439`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string`
    440440
    441441Build a query string from an array of key value pairs.
     
    499499## `GuzzleHttp\Psr7\Utils::readLine`
    500500
    501 `public static function readLine(StreamInterface $stream, int $maxLength = null): string`
     501`public static function readLine(StreamInterface $stream, ?int $maxLength = null): string`
    502502
    503503Read a line from the stream up to the maximum allowed buffer length.
     504
     505
     506## `GuzzleHttp\Psr7\Utils::redactUserInfo`
     507
     508`public static function redactUserInfo(UriInterface $uri): UriInterface`
     509
     510Redact the password in the user info part of a URI.
    504511
    505512
     
    675682### `GuzzleHttp\Psr7\Uri::isSameDocumentReference`
    676683
    677 `public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool`
     684`public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool`
    678685
    679686Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/composer.json

    r3017109 r3147632  
    6262    "require-dev": {
    6363        "bamarni/composer-bin-plugin": "^1.8.2",
    64         "http-interop/http-factory-tests": "^0.9",
    65         "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     64        "http-interop/http-factory-tests": "0.9.0",
     65        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    6666    },
    6767    "suggest": {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/CachingStream.php

    r2995378 r3147632  
    3434    public function __construct(
    3535        StreamInterface $stream,
    36         StreamInterface $target = null
     36        ?StreamInterface $target = null
    3737    ) {
    3838        $this->remoteStream = $stream;
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/HttpFactory.php

    r2995378 r3147632  
    2828    public function createUploadedFile(
    2929        StreamInterface $stream,
    30         int $size = null,
     30        ?int $size = null,
    3131        int $error = \UPLOAD_ERR_OK,
    32         string $clientFilename = null,
    33         string $clientMediaType = null
     32        ?string $clientFilename = null,
     33        ?string $clientMediaType = null
    3434    ): UploadedFileInterface {
    3535        if ($size === null) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/MultipartStream.php

    r3017109 r3147632  
    3333     * @throws \InvalidArgumentException
    3434     */
    35     public function __construct(array $elements = [], string $boundary = null)
     35    public function __construct(array $elements = [], ?string $boundary = null)
    3636    {
    3737        $this->boundary = $boundary ?: bin2hex(random_bytes(20));
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Query.php

    r2995378 r3147632  
    6464     * encountered (like `http_build_query()` would).
    6565     *
    66      * @param array     $params   Query string parameters.
    67      * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
    68      *                            to encode using RFC3986, or PHP_QUERY_RFC1738
    69      *                            to encode using RFC1738.
     66     * @param array     $params           Query string parameters.
     67     * @param int|false $encoding         Set to false to not encode,
     68     *                                    PHP_QUERY_RFC3986 to encode using
     69     *                                    RFC3986, or PHP_QUERY_RFC1738 to
     70     *                                    encode using RFC1738.
     71     * @param bool      $treatBoolsAsInts Set to true to encode as 0/1, and
     72     *                                    false as false/true.
    7073     */
    71     public static function build(array $params, $encoding = PHP_QUERY_RFC3986): string
     74    public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string
    7275    {
    7376        if (!$params) {
     
    8790        }
    8891
     92        $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; };
     93
    8994        $qs = '';
    9095        foreach ($params as $k => $v) {
     
    9297            if (!is_array($v)) {
    9398                $qs .= $k;
    94                 $v = is_bool($v) ? (int) $v : $v;
     99                $v = is_bool($v) ? $castBool($v) : $v;
    95100                if ($v !== null) {
    96101                    $qs .= '='.$encoder((string) $v);
     
    100105                foreach ($v as $vv) {
    101106                    $qs .= $k;
    102                     $vv = is_bool($vv) ? (int) $vv : $vv;
     107                    $vv = is_bool($vv) ? $castBool($vv) : $vv;
    103108                    if ($vv !== null) {
    104109                        $qs .= '='.$encoder((string) $vv);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Response.php

    r3017109 r3147632  
    9797        $body = null,
    9898        string $version = '1.1',
    99         string $reason = null
     99        ?string $reason = null
    100100    ) {
    101101        $this->assertStatusCodeRange($status);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/StreamWrapper.php

    r3017109 r3147632  
    7070    }
    7171
    72     public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool
     72    public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool
    7373    {
    7474        $options = stream_context_get_options($this->context);
     
    120120
    121121        return $resource ?? false;
     122    }
     123
     124    /**
     125     * @return array{
     126     *   dev: int,
     127     *   ino: int,
     128     *   mode: int,
     129     *   nlink: int,
     130     *   uid: int,
     131     *   gid: int,
     132     *   rdev: int,
     133     *   size: int,
     134     *   atime: int,
     135     *   mtime: int,
     136     *   ctime: int,
     137     *   blksize: int,
     138     *   blocks: int
     139     * }|false
     140     */
     141    public function stream_stat()
     142    {
     143        if ($this->stream->getSize() === null) {
     144            return false;
     145        }
     146
     147        static $modeMap = [
     148            'r' => 33060,
     149            'rb' => 33060,
     150            'r+' => 33206,
     151            'w' => 33188,
     152            'wb' => 33188,
     153        ];
     154
     155        return [
     156            'dev' => 0,
     157            'ino' => 0,
     158            'mode' => $modeMap[$this->mode],
     159            'nlink' => 0,
     160            'uid' => 0,
     161            'gid' => 0,
     162            'rdev' => 0,
     163            'size' => $this->stream->getSize() ?: 0,
     164            'atime' => 0,
     165            'mtime' => 0,
     166            'ctime' => 0,
     167            'blksize' => 0,
     168            'blocks' => 0,
     169        ];
    122170    }
    123171
     
    139187     * }
    140188     */
    141     public function stream_stat(): array
    142     {
    143         static $modeMap = [
    144             'r' => 33060,
    145             'rb' => 33060,
    146             'r+' => 33206,
    147             'w' => 33188,
    148             'wb' => 33188,
    149         ];
    150 
    151         return [
    152             'dev' => 0,
    153             'ino' => 0,
    154             'mode' => $modeMap[$this->mode],
    155             'nlink' => 0,
    156             'uid' => 0,
    157             'gid' => 0,
    158             'rdev' => 0,
    159             'size' => $this->stream->getSize() ?: 0,
    160             'atime' => 0,
    161             'mtime' => 0,
    162             'ctime' => 0,
    163             'blksize' => 0,
    164             'blocks' => 0,
    165         ];
    166     }
    167 
    168     /**
    169      * @return array{
    170      *   dev: int,
    171      *   ino: int,
    172      *   mode: int,
    173      *   nlink: int,
    174      *   uid: int,
    175      *   gid: int,
    176      *   rdev: int,
    177      *   size: int,
    178      *   atime: int,
    179      *   mtime: int,
    180      *   ctime: int,
    181      *   blksize: int,
    182      *   blocks: int
    183      * }
    184      */
    185189    public function url_stat(string $path, int $flags): array
    186190    {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/UploadedFile.php

    r3017109 r3147632  
    6565        ?int $size,
    6666        int $errorStatus,
    67         string $clientFilename = null,
    68         string $clientMediaType = null
     67        ?string $clientFilename = null,
     68        ?string $clientMediaType = null
    6969    ) {
    7070        $this->setError($errorStatus);
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Uri.php

    r3017109 r3147632  
    280280     * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4
    281281     */
    282     public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool
     282    public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool
    283283    {
    284284        if ($base !== null) {
  • ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Utils.php

    r3017109 r3147632  
    232232     * @param int|null        $maxLength Maximum buffer length
    233233     */
    234     public static function readLine(StreamInterface $stream, int $maxLength = null): string
     234    public static function readLine(StreamInterface $stream, ?int $maxLength = null): string
    235235    {
    236236        $buffer = '';
     
    249249
    250250        return $buffer;
     251    }
     252
     253    /**
     254     * Redact the password in the user info part of a URI.
     255     */
     256    public static function redactUserInfo(UriInterface $uri): UriInterface
     257    {
     258        $userInfo = $uri->getUserInfo();
     259
     260        if (false !== ($pos = \strpos($userInfo, ':'))) {
     261            return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
     262        }
     263
     264        return $uri;
    251265    }
    252266
  • ilovepdf/trunk/README.md

    r3118395 r3147632  
    1 === PDF Compressor & Watermark - iLovePDF ===
    2 Plugin Name: Image Compressor & Optimizer - iLovePDF
    3 Version: 2.1.2
    4 Author: iLovePDF
    5 Author URI: https://www.ilovepdf.com/
    6 Contributors: iLovePDF
    7 Tags: compress, watermark, optimize, performance, pdf optimizer
    8 Requires at least: 5.3
    9 Tested up to: 6.5.5
    10 Stable tag: 2.1.2
    11 Requires PHP: 7.4
    12 License: GPLv2 or later
    13 License URI: https://www.gnu.org/licenses/gpl-2.0.html
     1# PDF Compressor & Watermark - iLovePDF
    142
    15 Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for Wordpress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.
     3**PDF Compressor & Watermark - iLovePDF** is the official iLovePDF plugin for WordPress. It allows you to automatically compress your PDF files and add watermarks, saving storage space and enhancing your PDF's security.
    164
    17 == Description ==
     5With seamless integration, you can optimize all PDFs in your Media Library and stamp them automatically—just like you do on [iLovePDF.com](https://www.ilovepdf.com/).
    186
    19 ###How it works
     7### Key Features
    208
    21 The plugin has two modes of work, automatic or manual.
    22 Compress PDF: Every time a PDF file is uploaded to your Media Library, is compressed by our iLovePDF API and saved in your WordPress site already optimized, saving you disk space. This feature can be disabled.
     9- **Automatic Compression:** PDFs are compressed upon upload using the iLovePDF API, saving up to 50% storage space without losing quality.
     10- **Watermarking:** Automatically add text or image watermarks to your PDFs upon upload to safeguard your files.
     11- **Manual & Bulk Actions:** Compress or add watermarks to existing PDFs individually or in bulk.
     12- **Easy to Use:** Configure it once, and the plugin handles the rest, automating PDF optimization for future uploads.
    2313
    24 It can also compress all PDF already in your Media Library at once or compress PDF files one by one. The compression ratio depends on the PDF but on average you can save up to 50% of disk space occupied by PDF files without loosing quality.
     14## How It Works
    2515
    26 Watermark PDF: Every time a PDF file is uploaded to your Media Library, is stamped by our iLovePDF API and saved in your WordPress. This feature can be disabled.
    27 It can also stamp images or text in PDF already in your Media Library at once or stamp PDF files one by one.
     16### PDF Compression
    2817
     18- **Automatic:** Every time a PDF is uploaded, it gets compressed via iLovePDF API, reducing file size while maintaining quality. This feature can be toggled off if needed.
     19- **Manual:** Compress PDFs one by one or all at once from the Media Library. On average, compression can save up to 50% of the disk space.
    2920
    30 ###Bulk actions
     21### Watermarking PDFs
    3122
    32 All tools can be done for an individual files or applied to all your existing files.
     23- **Automatic:** Add watermarks to PDFs upon upload. This feature can also be disabled if not required.
     24- **Manual:** Watermark PDFs individually or apply watermarks in bulk to existing files. You can choose between text or image watermarks.
    3325
    34 ###Automatic process
     26### Bulk Actions
    3527
    36 All tools can be applied automatically when a PDF file is upload, so you don't need to apply any manual anymore.
     28Easily apply compression or watermarking actions to multiple files at once, streamlining your file management process. Bulk actions can be performed on all files in the Media Library with a single click.
    3729
    38 == Installation ==
     30### Automatic Processing
    3931
    40 From your Admin panel:
    41 1. Visit Plugins > Add New.
    42 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button.
    43 3. Activate the plugin from your Plugins page.
     32Set up the plugin to apply compression and watermarking automatically for all future PDF uploads, eliminating the need for manual intervention.
    4433
    45 Manual:
    46 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory
    47 2. Activate the plugin through the 'Plugins' menu in WordPress
    48 3. Create a free account in the plugin settings page, or use your existing one
    49 4. Configure the plugin as you like
     34## Installation
    5035
    51 Configure your iLovePDF Developer Account:
    52 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them
     36### From the WordPress Admin Panel:
     371. Navigate to **Plugins > Add New**.
     382. Search for "iLovePDF" and click **Install Now**.
     393. After installation, activate the plugin from your **Plugins page.**
    5340
     41### Manual Installation:
     421. Upload the `ilovepdf` folder to the `/wp-content/plugins/` directory.
     432. Activate the plugin through the **Plugins** menu in WordPress.
     443. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account.
     454. Configure the settings as per your requirements.
    5446
    55 == Frequently Asked Questions ==
     47### iLoveAPI Developer Account Setup:
     48- Go to **Register** to create an iLoveAPI Developer account (or use an existing one if you've already registered at [iLoveAPI Developer](https://iloveapi.com)).
     49- Select a project, which will determine which API keys to use. The "Default Project" is selected by default.
     50- Free accounts can process up to **2500 credits per month**. If more is needed, additional processing can be purchased.
    5651
    57 ###Do I need a iLovePDF account?
    58 
    59 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.
    60 
    61 ###Is this service free?
    62 
    63 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.
    64 
    65 ###What happens when the limit is reached?
    66 
    67 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!
  • ilovepdf/trunk/README.txt

    r3118395 r3147632  
    11=== PDF Compressor & Watermark - iLovePDF ===
    22Plugin Name: Image Compressor & Optimizer - iLovePDF
    3 Version: 2.1.2
     3Version: 2.1.3
    44Author: iLovePDF
    55Author URI: https://www.ilovepdf.com/
     
    77Tags: compress, watermark, optimize, performance, pdf optimizer
    88Requires at least: 5.3
    9 Tested up to: 6.5.5
    10 Stable tag: 2.1.2
     9Tested up to: 6.6.1
     10Stable tag: 2.1.3
    1111Requires PHP: 7.4
    1212License: GPLv2 or later
    1313License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1414
    15 A wordpress plugin by iLovePDF.
     15Optimize and protect your PDFs with automatic compression and watermarking. Save space and secure your documents effortlessly.
    1616
    1717== Description ==
     
    4141From your Admin panel:
    42421. Visit Plugins > Add New.
    43 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button.
     432. Search for **ilovePDF** and press the **Install Now** button.
    44443. Activate the plugin from your Plugins page.
    4545
    4646Manual:
    47 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory
     471. Upload `ilovepdf` to the `/wp-content/plugins/` directory
    48482. Activate the plugin through the 'Plugins' menu in WordPress
    49493. Create a free account in the plugin settings page, or use your existing one
    50504. Configure the plugin as you like
    5151
    52 == Configure your iLovePDF Developer Account ==
    53 
    54 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them
    55 
    56 By going to Settings -> iLovePDF -> Compress PDF you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.
    57 
    58 By going to Settings -> iLovePDF -> Watermark PDF you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.
    59 
    60 To Compress or Stamp PDF files that are already in your Media Library go to Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark
     52== Configure your iLoveAPI Developer Account ==
     53
     54Install this plugin and go to `Settings -> iLovePDF` to create your iLoveAPI Developer account (if you already registered previously on [iLoveAPI Developer](https://iloveapi.com) you can login directly) and choose your Project, but by default it will be selected **Default Project**. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLoveAPI developer account. With your iLoveAPI Free account you get 2500 free credits to process per month. If you need more you can purchase them
     55
     56By going to `Settings -> iLovePDF -> Compress PDF` you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.
     57
     58By going to `Settings -> iLovePDF -> Watermark PDF` you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.
     59
     60To Compress or Stamp PDF files that are already in your Media Library go to `Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark`
    6161
    6262== Frequently Asked Questions ==
    6363
    64 = Do I need a iLovePDF account? =
     64= Do I need a iLoveAPI account? =
    6565
    6666Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.
     
    6868= Is this service free? =
    6969
    70 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.
     70With a free account you can process up to 2500 credits each month. If you need more, you can upgrade your account.
    7171
    7272= What happens when the limit is reatched? =
    7373
    74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!
     74We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 2500 credits are free, so in next month you will be able to process more files again!
    7575
    7676== Screenshots ==
    7777
    78781. Create an account or login.
    79 2. Configure your pluggin
    80 3. Bulk actions with existing files
    81 4. PDF actions
     792. Configure Compress PDF.
     803. Configure Watermark PDF.
    8281
    8382== Changelog ==
    8483
    85 == 2.1.2 ==
     84= 2.1.3 =
     85Improved
     86* Update Libraries.
     87* Improved readme texts.
     88* Improved texts when a credential problem occurs.
     89
     90= 2.1.2 =
    8691Improved
    8792* Update Libraries.
     
    9196* A problem was solved with the option to create backup, where in some cases the option was not stored in the database.
    9297
    93 == 2.1.1 ==
     98= 2.1.1 =
    9499Improved
    95100* Update Libraries.
     
    99104* Library was included internally. This will improve file loading and possible CDN blocking in some countries.
    100105
    101 == 2.1.0 ==
     106= 2.1.0 =
    102107Added
    103108* New Backup option added in General Settings. Now the backup works for all tools.
     
    115120* In some cases, when a user logged in, they could get a PHP error or warning.
    116121
    117 == 2.0.5 ==
     122= 2.0.5 =
    118123Improved
    119124* Update Libraries.
    120125* Assets.
    121126
    122 == 2.0.4 ==
     127= 2.0.4 =
    123128Fixed
    124129* Compatibility issue with the Woocommerce plugin.
    125130
    126 == 2.0.3 ==
     131= 2.0.3 =
    127132Fixed
    128133* Specify minimum version of PHP for dependencies.
    129134
    130 == 2.0.2 ==
     135= 2.0.2 =
    131136Added
    132137* Improved class loading.
    133138* Update library ilovepdf to v1.2.2
    134139
    135 == 2.0.1 ==
     140= 2.0.1 =
    136141Changed
    137142* Remove Function Upload duplicate. Caused an error loading pdf files.
  • ilovepdf/trunk/admin/functions-compress.php

    r3118395 r3147632  
    115115            $html = 'error_auth';
    116116
    117             if ( $bulk ) {
     117            if ( $bulk || $auto ) {
    118118                $html = 'error_auth';
    119119            }
    120120
    121             if ( $auto ) {
    122                 $html = 'error_auth';
     121            if ( 'Unauthorized (Key may not be empty)' === $e->getMessage() ) {
     122                $html = 'Check your credentials in the plugin settings page. If you recently deleted a project in your iloveapi account, try switching to another project to correctly save your API Keys.';
    123123            }
    124124
  • ilovepdf/trunk/ilove-pdf.php

    r3118395 r3147632  
    1616 * Plugin URI:        https://iloveapi.com/
    1717 * Description:       Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.
    18  * Version:           2.1.2
     18 * Version:           2.1.3
    1919 * Requires at least: 5.3
    2020 * Requires PHP:      7.4
  • ilovepdf/trunk/includes/Ilove_Pdf.php

    r3118395 r3147632  
    7575
    7676        $this->plugin_name = 'ilove-pdf';
    77         $this->version     = 'wp.2.1.2';
     77        $this->version     = 'wp.2.1.3';
    7878
    7979        $this->load_dependencies();
  • ilovepdf/trunk/package.json

    r3118395 r3147632  
    11{
    2   "name": "ilovepdf/ilovepdf-wp",
     2  "name": "@ilovepdf/ilovepdf-wp",
    33  "version": "1.0.0",
    44  "description": "Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.",
     
    1717    "gulp-uglify": "^3.0.2",
    1818    "merge-stream": "^2.0.0",
    19     "sass": "^1.77.7"
     19    "sass": "^1.78"
    2020  }
    2121}
  • ilovepdf/trunk/vendor/composer/installed.json

    r3118395 r3147632  
    6969        {
    7070            "name": "guzzlehttp/guzzle",
    71             "version": "7.8.1",
    72             "version_normalized": "7.8.1.0",
     71            "version": "7.9.2",
     72            "version_normalized": "7.9.2.0",
    7373            "source": {
    7474                "type": "git",
    7575                "url": "https://github.com/guzzle/guzzle.git",
    76                 "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
    77             },
    78             "dist": {
    79                 "type": "zip",
    80                 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
    81                 "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
     76                "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
     77            },
     78            "dist": {
     79                "type": "zip",
     80                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
     81                "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
    8282                "shasum": ""
    8383            },
    8484            "require": {
    8585                "ext-json": "*",
    86                 "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
    87                 "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
     86                "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
     87                "guzzlehttp/psr7": "^2.7.0",
    8888                "php": "^7.2.5 || ^8.0",
    8989                "psr/http-client": "^1.0",
     
    9696                "bamarni/composer-bin-plugin": "^1.8.2",
    9797                "ext-curl": "*",
    98                 "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
     98                "guzzle/client-integration-tests": "3.0.2",
    9999                "php-http/message-factory": "^1.1",
    100                 "phpunit/phpunit": "^8.5.36 || ^9.6.15",
     100                "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    101101                "psr/log": "^1.1 || ^2.0 || ^3.0"
    102102            },
     
    106106                "psr/log": "Required for using the Log middleware"
    107107            },
    108             "time": "2023-12-03T20:35:24+00:00",
     108            "time": "2024-07-24T11:22:20+00:00",
    109109            "type": "library",
    110110            "extra": {
     
    178178            "support": {
    179179                "issues": "https://github.com/guzzle/guzzle/issues",
    180                 "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
     180                "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
    181181            },
    182182            "funding": [
     
    198198        {
    199199            "name": "guzzlehttp/promises",
    200             "version": "2.0.2",
    201             "version_normalized": "2.0.2.0",
     200            "version": "2.0.3",
     201            "version_normalized": "2.0.3.0",
    202202            "source": {
    203203                "type": "git",
    204204                "url": "https://github.com/guzzle/promises.git",
    205                 "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
    206             },
    207             "dist": {
    208                 "type": "zip",
    209                 "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
    210                 "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
     205                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
     206            },
     207            "dist": {
     208                "type": "zip",
     209                "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
     210                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
    211211                "shasum": ""
    212212            },
     
    216216            "require-dev": {
    217217                "bamarni/composer-bin-plugin": "^1.8.2",
    218                 "phpunit/phpunit": "^8.5.36 || ^9.6.15"
    219             },
    220             "time": "2023-12-03T20:19:20+00:00",
     218                "phpunit/phpunit": "^8.5.39 || ^9.6.20"
     219            },
     220            "time": "2024-07-18T10:29:17+00:00",
    221221            "type": "library",
    222222            "extra": {
     
    264264            "support": {
    265265                "issues": "https://github.com/guzzle/promises/issues",
    266                 "source": "https://github.com/guzzle/promises/tree/2.0.2"
     266                "source": "https://github.com/guzzle/promises/tree/2.0.3"
    267267            },
    268268            "funding": [
     
    284284        {
    285285            "name": "guzzlehttp/psr7",
    286             "version": "2.6.2",
    287             "version_normalized": "2.6.2.0",
     286            "version": "2.7.0",
     287            "version_normalized": "2.7.0.0",
    288288            "source": {
    289289                "type": "git",
    290290                "url": "https://github.com/guzzle/psr7.git",
    291                 "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
    292             },
    293             "dist": {
    294                 "type": "zip",
    295                 "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
    296                 "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
     291                "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
     292            },
     293            "dist": {
     294                "type": "zip",
     295                "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
     296                "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
    297297                "shasum": ""
    298298            },
     
    309309            "require-dev": {
    310310                "bamarni/composer-bin-plugin": "^1.8.2",
    311                 "http-interop/http-factory-tests": "^0.9",
    312                 "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     311                "http-interop/http-factory-tests": "0.9.0",
     312                "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    313313            },
    314314            "suggest": {
    315315                "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
    316316            },
    317             "time": "2023-12-03T20:05:35+00:00",
     317            "time": "2024-07-18T11:15:46+00:00",
    318318            "type": "library",
    319319            "extra": {
     
    383383            "support": {
    384384                "issues": "https://github.com/guzzle/psr7/issues",
    385                 "source": "https://github.com/guzzle/psr7/tree/2.6.2"
     385                "source": "https://github.com/guzzle/psr7/tree/2.7.0"
    386386            },
    387387            "funding": [
     
    454454        {
    455455            "name": "php-stubs/wordpress-stubs",
    456             "version": "v6.5.3",
    457             "version_normalized": "6.5.3.0",
     456            "version": "v6.6.0",
     457            "version_normalized": "6.6.0.0",
    458458            "source": {
    459459                "type": "git",
    460460                "url": "https://github.com/php-stubs/wordpress-stubs.git",
    461                 "reference": "e611a83292d02055a25f83291a98fadd0c21e092"
    462             },
    463             "dist": {
    464                 "type": "zip",
    465                 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/e611a83292d02055a25f83291a98fadd0c21e092",
    466                 "reference": "e611a83292d02055a25f83291a98fadd0c21e092",
     461                "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2"
     462            },
     463            "dist": {
     464                "type": "zip",
     465                "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2",
     466                "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2",
    467467                "shasum": ""
    468468            },
     
    470470                "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
    471471                "nikic/php-parser": "^4.13",
    472                 "php": "^7.4 || ~8.0.0",
     472                "php": "^7.4 || ^8.0",
    473473                "php-stubs/generator": "^0.8.3",
    474                 "phpdocumentor/reflection-docblock": "5.3",
     474                "phpdocumentor/reflection-docblock": "^5.4.1",
    475475                "phpstan/phpstan": "^1.10.49",
    476476                "phpunit/phpunit": "^9.5",
    477                 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11"
     477                "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
     478                "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
    478479            },
    479480            "suggest": {
     
    482483                "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan"
    483484            },
    484             "time": "2024-05-08T02:12:31+00:00",
     485            "time": "2024-07-17T08:50:38+00:00",
    485486            "type": "library",
    486487            "installation-source": "dist",
     
    498499            "support": {
    499500                "issues": "https://github.com/php-stubs/wordpress-stubs/issues",
    500                 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.5.3"
     501                "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0"
    501502            },
    502503            "install-path": "../php-stubs/wordpress-stubs"
     
    504505        {
    505506            "name": "phpstan/extension-installer",
    506             "version": "1.4.1",
    507             "version_normalized": "1.4.1.0",
     507            "version": "1.4.3",
     508            "version_normalized": "1.4.3.0",
    508509            "source": {
    509510                "type": "git",
    510511                "url": "https://github.com/phpstan/extension-installer.git",
    511                 "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203"
    512             },
    513             "dist": {
    514                 "type": "zip",
    515                 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
    516                 "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
     512                "reference": "85e90b3942d06b2326fba0403ec24fe912372936"
     513            },
     514            "dist": {
     515                "type": "zip",
     516                "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936",
     517                "reference": "85e90b3942d06b2326fba0403ec24fe912372936",
    517518                "shasum": ""
    518519            },
     
    520521                "composer-plugin-api": "^2.0",
    521522                "php": "^7.2 || ^8.0",
    522                 "phpstan/phpstan": "^1.9.0"
     523                "phpstan/phpstan": "^1.9.0 || ^2.0"
    523524            },
    524525            "require-dev": {
     
    527528                "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
    528529            },
    529             "time": "2024-06-10T08:20:49+00:00",
     530            "time": "2024-09-04T20:21:43+00:00",
    530531            "type": "composer-plugin",
    531532            "extra": {
     
    543544            ],
    544545            "description": "Composer plugin for automatic installation of PHPStan extensions",
     546            "keywords": [
     547                "dev",
     548                "static analysis"
     549            ],
    545550            "support": {
    546551                "issues": "https://github.com/phpstan/extension-installer/issues",
    547                 "source": "https://github.com/phpstan/extension-installer/tree/1.4.1"
     552                "source": "https://github.com/phpstan/extension-installer/tree/1.4.3"
    548553            },
    549554            "install-path": "../phpstan/extension-installer"
     
    551556        {
    552557            "name": "phpstan/phpstan",
    553             "version": "1.11.7",
    554             "version_normalized": "1.11.7.0",
     558            "version": "1.12.2",
     559            "version_normalized": "1.12.2.0",
    555560            "source": {
    556561                "type": "git",
    557562                "url": "https://github.com/phpstan/phpstan.git",
    558                 "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d"
    559             },
    560             "dist": {
    561                 "type": "zip",
    562                 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d",
    563                 "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d",
     563                "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1"
     564            },
     565            "dist": {
     566                "type": "zip",
     567                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1",
     568                "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1",
    564569                "shasum": ""
    565570            },
     
    570575                "phpstan/phpstan-shim": "*"
    571576            },
    572             "time": "2024-07-06T11:17:41+00:00",
     577            "time": "2024-09-05T16:09:28+00:00",
    573578            "bin": [
    574579                "phpstan",
     
    977982        {
    978983            "name": "szepeviktor/phpstan-wordpress",
    979             "version": "v1.3.4",
    980             "version_normalized": "1.3.4.0",
     984            "version": "v1.3.5",
     985            "version_normalized": "1.3.5.0",
    981986            "source": {
    982987                "type": "git",
    983988                "url": "https://github.com/szepeviktor/phpstan-wordpress.git",
    984                 "reference": "891d0767855a32c886a439efae090408cc1fa156"
    985             },
    986             "dist": {
    987                 "type": "zip",
    988                 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/891d0767855a32c886a439efae090408cc1fa156",
    989                 "reference": "891d0767855a32c886a439efae090408cc1fa156",
     989                "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7"
     990            },
     991            "dist": {
     992                "type": "zip",
     993                "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7",
     994                "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7",
    990995                "shasum": ""
    991996            },
     
    10021007                "phpstan/phpstan-strict-rules": "^1.2",
    10031008                "phpunit/phpunit": "^8.0 || ^9.0",
    1004                 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8"
     1009                "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
     1010                "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
    10051011            },
    10061012            "suggest": {
    10071013                "swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods"
    10081014            },
    1009             "time": "2024-03-21T16:32:59+00:00",
     1015            "time": "2024-06-28T22:27:19+00:00",
    10101016            "type": "phpstan-extension",
    10111017            "extra": {
     
    10361042            "support": {
    10371043                "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues",
    1038                 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.4"
     1044                "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5"
    10391045            },
    10401046            "install-path": "../szepeviktor/phpstan-wordpress"
  • ilovepdf/trunk/vendor/composer/installed.php

    r3118395 r3147632  
    44        'pretty_version' => 'dev-develop',
    55        'version' => 'dev-develop',
    6         'reference' => 'c465fc260ea39457acb659733b1f8cb99325ae4a',
     6        'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    2121        ),
    2222        'guzzlehttp/guzzle' => array(
    23             'pretty_version' => '7.8.1',
    24             'version' => '7.8.1.0',
    25             'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104',
     23            'pretty_version' => '7.9.2',
     24            'version' => '7.9.2.0',
     25            'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b',
    2626            'type' => 'library',
    2727            'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
     
    3030        ),
    3131        'guzzlehttp/promises' => array(
    32             'pretty_version' => '2.0.2',
    33             'version' => '2.0.2.0',
    34             'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223',
     32            'pretty_version' => '2.0.3',
     33            'version' => '2.0.3.0',
     34            'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../guzzlehttp/promises',
     
    3939        ),
    4040        'guzzlehttp/psr7' => array(
    41             'pretty_version' => '2.6.2',
    42             'version' => '2.6.2.0',
    43             'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221',
     41            'pretty_version' => '2.7.0',
     42            'version' => '2.7.0.0',
     43            'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201',
    4444            'type' => 'library',
    4545            'install_path' => __DIR__ . '/../guzzlehttp/psr7',
     
    5959            'pretty_version' => 'dev-develop',
    6060            'version' => 'dev-develop',
    61             'reference' => 'c465fc260ea39457acb659733b1f8cb99325ae4a',
     61            'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3',
    6262            'type' => 'wordpress-plugin',
    6363            'install_path' => __DIR__ . '/../../',
     
    6666        ),
    6767        'php-stubs/wordpress-stubs' => array(
    68             'pretty_version' => 'v6.5.3',
    69             'version' => '6.5.3.0',
    70             'reference' => 'e611a83292d02055a25f83291a98fadd0c21e092',
     68            'pretty_version' => 'v6.6.0',
     69            'version' => '6.6.0.0',
     70            'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2',
    7171            'type' => 'library',
    7272            'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs',
     
    7575        ),
    7676        'phpstan/extension-installer' => array(
    77             'pretty_version' => '1.4.1',
    78             'version' => '1.4.1.0',
    79             'reference' => 'f6b87faf9fc7978eab2f7919a8760bc9f58f9203',
     77            'pretty_version' => '1.4.3',
     78            'version' => '1.4.3.0',
     79            'reference' => '85e90b3942d06b2326fba0403ec24fe912372936',
    8080            'type' => 'composer-plugin',
    8181            'install_path' => __DIR__ . '/../phpstan/extension-installer',
     
    8484        ),
    8585        'phpstan/phpstan' => array(
    86             'pretty_version' => '1.11.7',
    87             'version' => '1.11.7.0',
    88             'reference' => '52d2bbfdcae7f895915629e4694e9497d0f8e28d',
     86            'pretty_version' => '1.12.2',
     87            'version' => '1.12.2.0',
     88            'reference' => '0ca1c7bb55fca8fe6448f16fff0f311ccec960a1',
    8989            'type' => 'library',
    9090            'install_path' => __DIR__ . '/../phpstan/phpstan',
     
    165165        ),
    166166        'szepeviktor/phpstan-wordpress' => array(
    167             'pretty_version' => 'v1.3.4',
    168             'version' => '1.3.4.0',
    169             'reference' => '891d0767855a32c886a439efae090408cc1fa156',
     167            'pretty_version' => 'v1.3.5',
     168            'version' => '1.3.5.0',
     169            'reference' => '7f8cfe992faa96b6a33bbd75c7bace98864161e7',
    170170            'type' => 'phpstan-extension',
    171171            'install_path' => __DIR__ . '/../szepeviktor/phpstan-wordpress',
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md

    r3017109 r3147632  
    22
    33Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
     4
     5
     6## 7.9.2 - 2024-07-24
     7
     8### Fixed
     9
     10- Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0
     11
     12
     13## 7.9.1 - 2024-07-19
     14
     15### Fixed
     16
     17- Fix TLS 1.3 check for HTTP/2 requests
     18
     19
     20## 7.9.0 - 2024-07-18
     21
     22### Changed
     23
     24- Improve protocol version checks to provide feedback around unsupported protocols
     25- Only select the cURL handler by default if 7.34.0 or higher is linked
     26- Improved `CurlMultiHandler` to avoid busy wait if possible
     27- Dropped support for EOL `guzzlehttp/psr7` v1
     28- Improved URI user info redaction in errors
     29
     30## 7.8.2 - 2024-07-18
     31
     32### Added
     33
     34- Support for PHP 8.4
    435
    536
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/README.md

    r3017109 r3147632  
    6363| Version | Status              | Packagist           | Namespace    | Repo                | Docs                | PSR-7 | PHP Version  |
    6464|---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------|
    65 | 3.x     | EOL                 | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
    66 | 4.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
    67 | 5.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
    68 | 6.x     | Security fixes only | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
    69 | 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.4 |
     65| 3.x     | EOL (2016-10-31)    | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
     66| 4.x     | EOL (2016-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
     67| 5.x     | EOL (2019-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
     68| 6.x     | EOL (2023-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
     69| 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.5 |
    7070
    7171[guzzle-3-repo]: https://github.com/guzzle/guzzle3
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/composer.json

    r3017109 r3147632  
    5151        }
    5252    ],
     53    "repositories": [
     54        {
     55            "type": "package",
     56            "package": {
     57                "name": "guzzle/client-integration-tests",
     58                "version": "v3.0.2",
     59                "dist": {
     60                    "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee",
     61                    "type": "zip"
     62                },
     63                "require": {
     64                    "php": "^7.2.5 || ^8.0",
     65                    "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11",
     66                    "php-http/message": "^1.0 || ^2.0",
     67                    "guzzlehttp/psr7": "^1.7 || ^2.0",
     68                    "th3n3rd/cartesian-product": "^0.3"
     69                },
     70                "autoload": {
     71                    "psr-4": {
     72                        "Http\\Client\\Tests\\": "src/"
     73                    }
     74                },
     75                "bin": [
     76                    "bin/http_test_server"
     77                ]
     78            }
     79        }
     80    ],
    5381    "require": {
    5482        "php": "^7.2.5 || ^8.0",
    5583        "ext-json": "*",
    56         "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
    57         "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
     84        "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
     85        "guzzlehttp/psr7": "^2.7.0",
    5886        "psr/http-client": "^1.0",
    5987        "symfony/deprecation-contracts": "^2.2 || ^3.0"
     
    6593        "ext-curl": "*",
    6694        "bamarni/composer-bin-plugin": "^1.8.2",
    67         "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
     95        "guzzle/client-integration-tests": "3.0.2",
    6896        "php-http/message-factory": "^1.1",
    69         "phpunit/phpunit": "^8.5.36 || ^9.6.15",
     97        "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    7098        "psr/log": "^1.1 || ^2.0 || ^3.0"
    7199    },
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/BodySummarizer.php

    r2995378 r3147632  
    1212    private $truncateAt;
    1313
    14     public function __construct(int $truncateAt = null)
     14    public function __construct(?int $truncateAt = null)
    1515    {
    1616        $this->truncateAt = $truncateAt;
     
    2323    {
    2424        return $this->truncateAt === null
    25             ? \GuzzleHttp\Psr7\Message::bodySummary($message)
    26             : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
     25            ? Psr7\Message::bodySummary($message)
     26            : Psr7\Message::bodySummary($message, $this->truncateAt);
    2727    }
    2828}
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Client.php

    r2995378 r3147632  
    5353     * @param array $config Client configuration settings.
    5454     *
    55      * @see \GuzzleHttp\RequestOptions for a list of available request options.
     55     * @see RequestOptions for a list of available request options.
    5656     */
    5757    public function __construct(array $config = [])
     
    203203     * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
    204204     */
    205     public function getConfig(string $option = null)
     205    public function getConfig(?string $option = null)
    206206    {
    207207        return $option === null
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/ClientInterface.php

    r2995378 r3147632  
    8181     * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
    8282     */
    83     public function getConfig(string $option = null);
     83    public function getConfig(?string $option = null);
    8484}
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php

    r3017109 r3147632  
    104104    }
    105105
    106     public function clear(string $domain = null, string $path = null, string $name = null): void
     106    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
    107107    {
    108108        if (!$domain) {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php

    r2995378 r3147632  
    6363     * @param string|null $name   Clears cookies matching a domain, path, and name
    6464     */
    65     public function clear(string $domain = null, string $path = null, string $name = null): void;
     65    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
    6666
    6767    /**
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php

    r2995378 r3147632  
    1515        RequestInterface $request,
    1616        ResponseInterface $response,
    17         \Throwable $previous = null,
     17        ?\Throwable $previous = null,
    1818        array $handlerContext = []
    1919    ) {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php

    r2995378 r3147632  
    2626        string $message,
    2727        RequestInterface $request,
    28         \Throwable $previous = null,
     28        ?\Throwable $previous = null,
    2929        array $handlerContext = []
    3030    ) {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php

    r2995378 r3147632  
    88use Psr\Http\Message\RequestInterface;
    99use Psr\Http\Message\ResponseInterface;
    10 use Psr\Http\Message\UriInterface;
    1110
    1211/**
     
    3332        string $message,
    3433        RequestInterface $request,
    35         ResponseInterface $response = null,
    36         \Throwable $previous = null,
     34        ?ResponseInterface $response = null,
     35        ?\Throwable $previous = null,
    3736        array $handlerContext = []
    3837    ) {
     
    6463    public static function create(
    6564        RequestInterface $request,
    66         ResponseInterface $response = null,
    67         \Throwable $previous = null,
     65        ?ResponseInterface $response = null,
     66        ?\Throwable $previous = null,
    6867        array $handlerContext = [],
    69         BodySummarizerInterface $bodySummarizer = null
     68        ?BodySummarizerInterface $bodySummarizer = null
    7069    ): self {
    7170        if (!$response) {
     
    9190        }
    9291
    93         $uri = $request->getUri();
    94         $uri = static::obfuscateUri($uri);
     92        $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri());
    9593
    9694        // Client Error: `GET /` resulted in a `404 Not Found` response:
     
    112110
    113111        return new $className($message, $request, $response, $previous, $handlerContext);
    114     }
    115 
    116     /**
    117      * Obfuscates URI if there is a username and a password present
    118      */
    119     private static function obfuscateUri(UriInterface $uri): UriInterface
    120     {
    121         $userInfo = $uri->getUserInfo();
    122 
    123         if (false !== ($pos = \strpos($userInfo, ':'))) {
    124             return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
    125         }
    126 
    127         return $uri;
    128112    }
    129113
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php

    r3017109 r3147632  
    1212use GuzzleHttp\Utils;
    1313use Psr\Http\Message\RequestInterface;
     14use Psr\Http\Message\UriInterface;
    1415
    1516/**
     
    4748    public function create(RequestInterface $request, array $options): EasyHandle
    4849    {
     50        $protocolVersion = $request->getProtocolVersion();
     51
     52        if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
     53            if (!self::supportsHttp2()) {
     54                throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request);
     55            }
     56        } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
     57            throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request);
     58        }
     59
    4960        if (isset($options['curl']['body_as_string'])) {
    5061            $options['_body_as_string'] = $options['curl']['body_as_string'];
     
    7182
    7283        return $easy;
     84    }
     85
     86    private static function supportsHttp2(): bool
     87    {
     88        static $supportsHttp2 = null;
     89
     90        if (null === $supportsHttp2) {
     91            $supportsHttp2 = self::supportsTls12()
     92                && defined('CURL_VERSION_HTTP2')
     93                && (\CURL_VERSION_HTTP2 & \curl_version()['features']);
     94        }
     95
     96        return $supportsHttp2;
     97    }
     98
     99    private static function supportsTls12(): bool
     100    {
     101        static $supportsTls12 = null;
     102
     103        if (null === $supportsTls12) {
     104            $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features'];
     105        }
     106
     107        return $supportsTls12;
     108    }
     109
     110    private static function supportsTls13(): bool
     111    {
     112        static $supportsTls13 = null;
     113
     114        if (null === $supportsTls13) {
     115            $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3')
     116                && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']);
     117        }
     118
     119        return $supportsTls13;
    73120    }
    74121
     
    148195            'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
    149196        ] + \curl_getinfo($easy->handle);
    150         $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
     197        $ctx[self::CURL_VERSION_STR] = self::getCurlVersion();
    151198        $factory->release($easy);
    152199
     
    157204
    158205        return self::createRejection($easy, $ctx);
     206    }
     207
     208    private static function getCurlVersion(): string
     209    {
     210        static $curlVersion = null;
     211
     212        if (null === $curlVersion) {
     213            $curlVersion = \curl_version()['version'];
     214        }
     215
     216        return $curlVersion;
    159217    }
    160218
     
    195253        }
    196254
     255        $uri = $easy->request->getUri();
     256
     257        $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri);
     258
    197259        $message = \sprintf(
    198260            'cURL error %s: %s (%s)',
    199261            $ctx['errno'],
    200             $ctx['error'],
     262            $sanitizedError,
    201263            'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
    202264        );
    203         $uriString = (string) $easy->request->getUri();
    204         if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) {
    205             $message .= \sprintf(' for %s', $uriString);
     265
     266        if ('' !== $sanitizedError) {
     267            $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString();
     268            if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) {
     269                $message .= \sprintf(' for %s', $redactedUriString);
     270            }
    206271        }
    207272
     
    212277
    213278        return P\Create::rejectionFor($error);
     279    }
     280
     281    private static function sanitizeCurlError(string $error, UriInterface $uri): string
     282    {
     283        if ('' === $error) {
     284            return $error;
     285        }
     286
     287        $baseUri = $uri->withQuery('')->withFragment('');
     288        $baseUriString = $baseUri->__toString();
     289
     290        if ('' === $baseUriString) {
     291            return $error;
     292        }
     293
     294        $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString();
     295
     296        return str_replace($baseUriString, $redactedUriString, $error);
    214297    }
    215298
     
    233316
    234317        $version = $easy->request->getProtocolVersion();
    235         if ($version == 1.1) {
     318
     319        if ('2' === $version || '2.0' === $version) {
     320            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
     321        } elseif ('1.1' === $version) {
    236322            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
    237         } elseif ($version == 2.0) {
    238             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
    239323        } else {
    240324            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
     
    391475                // sets a matching 'Accept-Encoding' header.
    392476                $conf[\CURLOPT_ENCODING] = '';
    393                 // But as the user did not specify any acceptable encodings we need
    394                 // to overwrite this implicit header with an empty one.
     477                // But as the user did not specify any encoding preference,
     478                // let's leave it up to server by preventing curl from sending
     479                // the header, which will be interpreted as 'Accept-Encoding: *'.
     480                // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding
    395481                $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
    396482            }
     
    456542
    457543        if (isset($options['crypto_method'])) {
    458             if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
    459                 if (!defined('CURL_SSLVERSION_TLSv1_0')) {
    460                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL');
    461                 }
     544            $protocolVersion = $easy->request->getProtocolVersion();
     545
     546            // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2
     547            if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
     548                if (
     549                    \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']
     550                    || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']
     551                    || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']
     552                ) {
     553                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
     554                } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
     555                    if (!self::supportsTls13()) {
     556                        throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
     557                    }
     558                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;
     559                } else {
     560                    throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided');
     561                }
     562            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
    462563                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0;
    463564            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) {
    464                 if (!defined('CURL_SSLVERSION_TLSv1_1')) {
    465                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');
    466                 }
    467565                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1;
    468566            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) {
    469                 if (!defined('CURL_SSLVERSION_TLSv1_2')) {
     567                if (!self::supportsTls12()) {
    470568                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL');
    471569                }
    472570                $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
    473571            } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
    474                 if (!defined('CURL_SSLVERSION_TLSv1_3')) {
     572                if (!self::supportsTls13()) {
    475573                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
    476574                }
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php

    r2995378 r3147632  
    33namespace GuzzleHttp\Handler;
    44
     5use Closure;
    56use GuzzleHttp\Promise as P;
    67use GuzzleHttp\Promise\Promise;
     
    160161        }
    161162
     163        // Run curl_multi_exec in the queue to enable other async tasks to run
     164        P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
     165
    162166        // Step through the task queue which may add additional requests.
    163167        P\Utils::queue()->run();
     
    170174
    171175        while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
     176            // Prevent busy looping for slow HTTP requests.
     177            \curl_multi_select($this->_mh, $this->selectTimeout);
    172178        }
    173179
    174180        $this->processMessages();
     181    }
     182
     183    /**
     184     * Runs \curl_multi_exec() inside the event loop, to prevent busy looping
     185     */
     186    private function tickInQueue(): void
     187    {
     188        if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
     189            \curl_multi_select($this->_mh, 0);
     190            P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
     191        }
    175192    }
    176193
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php

    r2995378 r3147632  
    5353     * @param callable|null $onRejected  Callback to invoke when the return value is rejected.
    5454     */
    55     public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack
     55    public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack
    5656    {
    5757        return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
     
    6060    /**
    6161     * The passed in value must be an array of
    62      * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
     62     * {@see ResponseInterface} objects, Exceptions,
    6363     * callables, or Promises.
    6464     *
     
    6767     * @param callable|null          $onRejected  Callback to invoke when the return value is rejected.
    6868     */
    69     public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
     69    public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null)
    7070    {
    7171        $this->onFulfilled = $onFulfilled;
     
    201201        RequestInterface $request,
    202202        array $options,
    203         ResponseInterface $response = null,
     203        ?ResponseInterface $response = null,
    204204        $reason = null
    205205    ): void {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php

    r2995378 r3147632  
    3939        if (isset($options['delay'])) {
    4040            \usleep($options['delay'] * 1000);
     41        }
     42
     43        $protocolVersion = $request->getProtocolVersion();
     44
     45        if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
     46            throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request);
    4147        }
    4248
     
    8490        RequestInterface $request,
    8591        ?float $startTime,
    86         ResponseInterface $response = null,
    87         \Throwable $error = null
     92        ?ResponseInterface $response = null,
     93        ?\Throwable $error = null
    8894    ): void {
    8995        if (isset($options['on_stats'])) {
     
    274280        // HTTP/1.1 streams using the PHP stream wrapper require a
    275281        // Connection: close header
    276         if ($request->getProtocolVersion() == '1.1'
     282        if ($request->getProtocolVersion() === '1.1'
    277283            && !$request->hasHeader('Connection')
    278284        ) {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/HandlerStack.php

    r2995378 r3147632  
    4545     *                                                                            system will be utilized.
    4646     */
    47     public static function create(callable $handler = null): self
     47    public static function create(?callable $handler = null): self
    4848    {
    4949        $stack = new self($handler ?: Utils::chooseHandler());
     
    5959     * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
    6060     */
    61     public function __construct(callable $handler = null)
     61    public function __construct(?callable $handler = null)
    6262    {
    6363        $this->handler = $handler;
     
    132132     * @param string                       $name       Name to register for this middleware.
    133133     */
    134     public function unshift(callable $middleware, string $name = null): void
     134    public function unshift(callable $middleware, ?string $name = null): void
    135135    {
    136136        \array_unshift($this->stack, [$middleware, $name]);
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/MessageFormatter.php

    r2995378 r3147632  
    6969     * @param \Throwable|null        $error    Exception that was received
    7070     */
    71     public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string
     71    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string
    7272    {
    7373        $cache = [];
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php

    r2995378 r3147632  
    1515     * @param \Throwable|null        $error    Exception that was received
    1616     */
    17     public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string;
     17    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string;
    1818}
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Middleware.php

    r2995378 r3147632  
    5656     * @return callable(callable): callable Returns a function that accepts the next handler.
    5757     */
    58     public static function httpErrors(BodySummarizerInterface $bodySummarizer = null): callable
     58    public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable
    5959    {
    6060        return static function (callable $handler) use ($bodySummarizer): callable {
     
    133133     * @return callable Returns a function that accepts the next handler.
    134134     */
    135     public static function tap(callable $before = null, callable $after = null): callable
     135    public static function tap(?callable $before = null, ?callable $after = null): callable
    136136    {
    137137        return static function (callable $handler) use ($before, $after): callable {
     
    177177     * @return callable Returns a function that accepts the next handler.
    178178     */
    179     public static function retry(callable $decider, callable $delay = null): callable
     179    public static function retry(callable $decider, ?callable $delay = null): callable
    180180    {
    181181        return static function (callable $handler) use ($decider, $delay): RetryMiddleware {
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php

    r2995378 r3147632  
    7777        $expect = $options['expect'] ?? null;
    7878
    79         // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
    80         if ($expect === false || $request->getProtocolVersion() < 1.1) {
     79        // Return if disabled or using HTTP/1.0
     80        if ($expect === false || $request->getProtocolVersion() === '1.0') {
    8181            return;
    8282        }
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/RequestOptions.php

    r3017109 r3147632  
    6262     * jar to use or what cookies to send. This option only works if your
    6363     * handler has the `cookie` middleware. Valid values are `false` and
    64      * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.
     64     * an instance of {@see Cookie\CookieJarInterface}.
    6565     */
    6666    public const COOKIES = 'cookies';
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php

    r2995378 r3147632  
    4141     *                                                                         milliseconds to delay.
    4242     */
    43     public function __construct(callable $decider, callable $nextHandler, callable $delay = null)
     43    public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null)
    4444    {
    4545        $this->decider = $decider;
     
    111111    }
    112112
    113     private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface
     113    private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface
    114114    {
    115115        $options['delay'] = ($this->delay)(++$options['retries'], $response, $request);
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/TransferStats.php

    r2995378 r3147632  
    4747    public function __construct(
    4848        RequestInterface $request,
    49         ResponseInterface $response = null,
    50         float $transferTime = null,
     49        ?ResponseInterface $response = null,
     50        ?float $transferTime = null,
    5151        $handlerErrorData = null,
    5252        array $handlerStats = []
  • ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Utils.php

    r3017109 r3147632  
    7272        }
    7373
    74         return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
     74        return Psr7\Utils::tryFopen('php://output', 'w');
    7575    }
    7676
     
    8888        $handler = null;
    8989
    90         if (\defined('CURLOPT_CUSTOMREQUEST')) {
     90        if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) {
    9191            if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
    9292                $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
  • ilovepdf/trunk/vendor/guzzlehttp/promises/CHANGELOG.md

    r3017109 r3147632  
    11# CHANGELOG
     2
     3
     4## 2.0.3 - 2024-07-18
     5
     6### Changed
     7
     8- PHP 8.4 support
    29
    310
  • ilovepdf/trunk/vendor/guzzlehttp/promises/README.md

    r2995378 r3147632  
    3939## Version Guidance
    4040
    41 | Version | Status                 | PHP Version  |
    42 |---------|------------------------|--------------|
    43 | 1.x     | Bug and security fixes | >=5.5,<8.3   |
    44 | 2.x     | Latest                 | >=7.2.5,<8.4 |
     41| Version | Status              | PHP Version  |
     42|---------|---------------------|--------------|
     43| 1.x     | Security fixes only | >=5.5,<8.3   |
     44| 2.x     | Latest              | >=7.2.5,<8.5 |
    4545
    4646
  • ilovepdf/trunk/vendor/guzzlehttp/promises/composer.json

    r3017109 r3147632  
    3131    "require-dev": {
    3232        "bamarni/composer-bin-plugin": "^1.8.2",
    33         "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     33        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    3434    },
    3535    "autoload": {
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/Coroutine.php

    r2995378 r3147632  
    8585
    8686    public function then(
    87         callable $onFulfilled = null,
    88         callable $onRejected = null
     87        ?callable $onFulfilled = null,
     88        ?callable $onRejected = null
    8989    ): PromiseInterface {
    9090        return $this->result->then($onFulfilled, $onRejected);
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/Each.php

    r3017109 r3147632  
    2424    public static function of(
    2525        $iterable,
    26         callable $onFulfilled = null,
    27         callable $onRejected = null
     26        ?callable $onFulfilled = null,
     27        ?callable $onRejected = null
    2828    ): PromiseInterface {
    2929        return (new EachPromise($iterable, [
     
    4747        $iterable,
    4848        $concurrency,
    49         callable $onFulfilled = null,
    50         callable $onRejected = null
     49        ?callable $onFulfilled = null,
     50        ?callable $onRejected = null
    5151    ): PromiseInterface {
    5252        return (new EachPromise($iterable, [
     
    6868        $iterable,
    6969        $concurrency,
    70         callable $onFulfilled = null
     70        ?callable $onFulfilled = null
    7171    ): PromiseInterface {
    7272        return self::ofLimit(
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/FulfilledPromise.php

    r2995378 r3147632  
    3232
    3333    public function then(
    34         callable $onFulfilled = null,
    35         callable $onRejected = null
     34        ?callable $onFulfilled = null,
     35        ?callable $onRejected = null
    3636    ): PromiseInterface {
    3737        // Return itself if there is no onFulfilled function.
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/Promise.php

    r2995378 r3147632  
    2626     */
    2727    public function __construct(
    28         callable $waitFn = null,
    29         callable $cancelFn = null
     28        ?callable $waitFn = null,
     29        ?callable $cancelFn = null
    3030    ) {
    3131        $this->waitFn = $waitFn;
     
    3434
    3535    public function then(
    36         callable $onFulfilled = null,
    37         callable $onRejected = null
     36        ?callable $onFulfilled = null,
     37        ?callable $onRejected = null
    3838    ): PromiseInterface {
    3939        if ($this->state === self::PENDING) {
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/PromiseInterface.php

    r2995378 r3147632  
    2828     */
    2929    public function then(
    30         callable $onFulfilled = null,
    31         callable $onRejected = null
     30        ?callable $onFulfilled = null,
     31        ?callable $onRejected = null
    3232    ): PromiseInterface;
    3333
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/RejectedPromise.php

    r2995378 r3147632  
    3232
    3333    public function then(
    34         callable $onFulfilled = null,
    35         callable $onRejected = null
     34        ?callable $onFulfilled = null,
     35        ?callable $onRejected = null
    3636    ): PromiseInterface {
    3737        // If there's no onRejected callback then just return self.
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/RejectionException.php

    r3017109 r3147632  
    1919     * @param string|null $description Optional description.
    2020     */
    21     public function __construct($reason, string $description = null)
     21    public function __construct($reason, ?string $description = null)
    2222    {
    2323        $this->reason = $reason;
  • ilovepdf/trunk/vendor/guzzlehttp/promises/src/Utils.php

    r2995378 r3147632  
    2222     * @param TaskQueueInterface|null $assign Optionally specify a new queue instance.
    2323     */
    24     public static function queue(TaskQueueInterface $assign = null): TaskQueueInterface
     24    public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface
    2525    {
    2626        static $queue;
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/CHANGELOG.md

    r3017109 r3147632  
    55The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    66and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     7
     8## 2.7.0 - 2024-07-18
     9
     10### Added
     11
     12- Add `Utils::redactUserInfo()` method
     13- Add ability to encode bools as ints in `Query::build`
     14
     15## 2.6.3 - 2024-07-18
     16
     17### Fixed
     18
     19- Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null`
     20
     21### Changed
     22
     23- PHP 8.4 support
    724
    825## 2.6.2 - 2023-12-03
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/README.md

    r3017109 r3147632  
    2525| Version | Status              | PHP Version  |
    2626|---------|---------------------|--------------|
    27 | 1.x     | Security fixes only | >=5.4,<8.1   |
    28 | 2.x     | Latest              | >=7.2.5,<8.4 |
     27| 1.x     | EOL (2024-06-30)    | >=5.4,<8.2   |
     28| 2.x     | Latest              | >=7.2.5,<8.5 |
    2929
    3030
     
    437437## `GuzzleHttp\Psr7\Query::build`
    438438
    439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986): string`
     439`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string`
    440440
    441441Build a query string from an array of key value pairs.
     
    499499## `GuzzleHttp\Psr7\Utils::readLine`
    500500
    501 `public static function readLine(StreamInterface $stream, int $maxLength = null): string`
     501`public static function readLine(StreamInterface $stream, ?int $maxLength = null): string`
    502502
    503503Read a line from the stream up to the maximum allowed buffer length.
     504
     505
     506## `GuzzleHttp\Psr7\Utils::redactUserInfo`
     507
     508`public static function redactUserInfo(UriInterface $uri): UriInterface`
     509
     510Redact the password in the user info part of a URI.
    504511
    505512
     
    675682### `GuzzleHttp\Psr7\Uri::isSameDocumentReference`
    676683
    677 `public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool`
     684`public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool`
    678685
    679686Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/composer.json

    r3017109 r3147632  
    6262    "require-dev": {
    6363        "bamarni/composer-bin-plugin": "^1.8.2",
    64         "http-interop/http-factory-tests": "^0.9",
    65         "phpunit/phpunit": "^8.5.36 || ^9.6.15"
     64        "http-interop/http-factory-tests": "0.9.0",
     65        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    6666    },
    6767    "suggest": {
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/CachingStream.php

    r2995378 r3147632  
    3434    public function __construct(
    3535        StreamInterface $stream,
    36         StreamInterface $target = null
     36        ?StreamInterface $target = null
    3737    ) {
    3838        $this->remoteStream = $stream;
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/HttpFactory.php

    r2995378 r3147632  
    2828    public function createUploadedFile(
    2929        StreamInterface $stream,
    30         int $size = null,
     30        ?int $size = null,
    3131        int $error = \UPLOAD_ERR_OK,
    32         string $clientFilename = null,
    33         string $clientMediaType = null
     32        ?string $clientFilename = null,
     33        ?string $clientMediaType = null
    3434    ): UploadedFileInterface {
    3535        if ($size === null) {
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/MultipartStream.php

    r3017109 r3147632  
    3333     * @throws \InvalidArgumentException
    3434     */
    35     public function __construct(array $elements = [], string $boundary = null)
     35    public function __construct(array $elements = [], ?string $boundary = null)
    3636    {
    3737        $this->boundary = $boundary ?: bin2hex(random_bytes(20));
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Query.php

    r2995378 r3147632  
    6464     * encountered (like `http_build_query()` would).
    6565     *
    66      * @param array     $params   Query string parameters.
    67      * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
    68      *                            to encode using RFC3986, or PHP_QUERY_RFC1738
    69      *                            to encode using RFC1738.
     66     * @param array     $params           Query string parameters.
     67     * @param int|false $encoding         Set to false to not encode,
     68     *                                    PHP_QUERY_RFC3986 to encode using
     69     *                                    RFC3986, or PHP_QUERY_RFC1738 to
     70     *                                    encode using RFC1738.
     71     * @param bool      $treatBoolsAsInts Set to true to encode as 0/1, and
     72     *                                    false as false/true.
    7073     */
    71     public static function build(array $params, $encoding = PHP_QUERY_RFC3986): string
     74    public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string
    7275    {
    7376        if (!$params) {
     
    8790        }
    8891
     92        $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; };
     93
    8994        $qs = '';
    9095        foreach ($params as $k => $v) {
     
    9297            if (!is_array($v)) {
    9398                $qs .= $k;
    94                 $v = is_bool($v) ? (int) $v : $v;
     99                $v = is_bool($v) ? $castBool($v) : $v;
    95100                if ($v !== null) {
    96101                    $qs .= '='.$encoder((string) $v);
     
    100105                foreach ($v as $vv) {
    101106                    $qs .= $k;
    102                     $vv = is_bool($vv) ? (int) $vv : $vv;
     107                    $vv = is_bool($vv) ? $castBool($vv) : $vv;
    103108                    if ($vv !== null) {
    104109                        $qs .= '='.$encoder((string) $vv);
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Response.php

    r3017109 r3147632  
    9797        $body = null,
    9898        string $version = '1.1',
    99         string $reason = null
     99        ?string $reason = null
    100100    ) {
    101101        $this->assertStatusCodeRange($status);
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/StreamWrapper.php

    r3017109 r3147632  
    7070    }
    7171
    72     public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool
     72    public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool
    7373    {
    7474        $options = stream_context_get_options($this->context);
     
    120120
    121121        return $resource ?? false;
     122    }
     123
     124    /**
     125     * @return array{
     126     *   dev: int,
     127     *   ino: int,
     128     *   mode: int,
     129     *   nlink: int,
     130     *   uid: int,
     131     *   gid: int,
     132     *   rdev: int,
     133     *   size: int,
     134     *   atime: int,
     135     *   mtime: int,
     136     *   ctime: int,
     137     *   blksize: int,
     138     *   blocks: int
     139     * }|false
     140     */
     141    public function stream_stat()
     142    {
     143        if ($this->stream->getSize() === null) {
     144            return false;
     145        }
     146
     147        static $modeMap = [
     148            'r' => 33060,
     149            'rb' => 33060,
     150            'r+' => 33206,
     151            'w' => 33188,
     152            'wb' => 33188,
     153        ];
     154
     155        return [
     156            'dev' => 0,
     157            'ino' => 0,
     158            'mode' => $modeMap[$this->mode],
     159            'nlink' => 0,
     160            'uid' => 0,
     161            'gid' => 0,
     162            'rdev' => 0,
     163            'size' => $this->stream->getSize() ?: 0,
     164            'atime' => 0,
     165            'mtime' => 0,
     166            'ctime' => 0,
     167            'blksize' => 0,
     168            'blocks' => 0,
     169        ];
    122170    }
    123171
     
    139187     * }
    140188     */
    141     public function stream_stat(): array
    142     {
    143         static $modeMap = [
    144             'r' => 33060,
    145             'rb' => 33060,
    146             'r+' => 33206,
    147             'w' => 33188,
    148             'wb' => 33188,
    149         ];
    150 
    151         return [
    152             'dev' => 0,
    153             'ino' => 0,
    154             'mode' => $modeMap[$this->mode],
    155             'nlink' => 0,
    156             'uid' => 0,
    157             'gid' => 0,
    158             'rdev' => 0,
    159             'size' => $this->stream->getSize() ?: 0,
    160             'atime' => 0,
    161             'mtime' => 0,
    162             'ctime' => 0,
    163             'blksize' => 0,
    164             'blocks' => 0,
    165         ];
    166     }
    167 
    168     /**
    169      * @return array{
    170      *   dev: int,
    171      *   ino: int,
    172      *   mode: int,
    173      *   nlink: int,
    174      *   uid: int,
    175      *   gid: int,
    176      *   rdev: int,
    177      *   size: int,
    178      *   atime: int,
    179      *   mtime: int,
    180      *   ctime: int,
    181      *   blksize: int,
    182      *   blocks: int
    183      * }
    184      */
    185189    public function url_stat(string $path, int $flags): array
    186190    {
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/UploadedFile.php

    r3017109 r3147632  
    6565        ?int $size,
    6666        int $errorStatus,
    67         string $clientFilename = null,
    68         string $clientMediaType = null
     67        ?string $clientFilename = null,
     68        ?string $clientMediaType = null
    6969    ) {
    7070        $this->setError($errorStatus);
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Uri.php

    r3017109 r3147632  
    280280     * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4
    281281     */
    282     public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool
     282    public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool
    283283    {
    284284        if ($base !== null) {
  • ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Utils.php

    r3017109 r3147632  
    232232     * @param int|null        $maxLength Maximum buffer length
    233233     */
    234     public static function readLine(StreamInterface $stream, int $maxLength = null): string
     234    public static function readLine(StreamInterface $stream, ?int $maxLength = null): string
    235235    {
    236236        $buffer = '';
     
    249249
    250250        return $buffer;
     251    }
     252
     253    /**
     254     * Redact the password in the user info part of a URI.
     255     */
     256    public static function redactUserInfo(UriInterface $uri): UriInterface
     257    {
     258        $userInfo = $uri->getUserInfo();
     259
     260        if (false !== ($pos = \strpos($userInfo, ':'))) {
     261            return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
     262        }
     263
     264        return $uri;
    251265    }
    252266
Note: See TracChangeset for help on using the changeset viewer.