Changeset 3308128
- Timestamp:
- 06/08/2025 07:39:21 PM (10 months ago)
- Location:
- pay-with-flex/trunk
- Files:
-
- 13 added
- 34 edited
-
composer.lock (modified) (3 diffs)
-
pay-with-flex.php (modified) (11 diffs)
-
readme.txt (modified) (2 diffs)
-
src/Resource/CheckoutSession/CheckoutSession.php (modified) (10 diffs)
-
src/Resource/CheckoutSession/Discount.php (added)
-
src/Resource/CheckoutSession/LineItem.php (modified) (1 diff)
-
src/Resource/Coupon.php (added)
-
src/Resource/Price.php (modified) (1 diff)
-
vendor/composer/autoload_classmap.php (modified) (6 diffs)
-
vendor/composer/autoload_static.php (modified) (6 diffs)
-
vendor/composer/installed.json (modified) (3 diffs)
-
vendor/composer/installed.php (modified) (3 diffs)
-
vendor/composer/jetpack_autoload_classmap.php (modified) (3 diffs)
-
vendor/composer/jetpack_autoload_filemap.php (modified) (1 diff)
-
vendor/sentry/sentry/CHANGELOG.md (modified) (1 diff)
-
vendor/sentry/sentry/UPGRADE-4.0.md (modified) (1 diff)
-
vendor/sentry/sentry/src/Attributes (added)
-
vendor/sentry/sentry/src/Attributes/Attribute.php (added)
-
vendor/sentry/sentry/src/Attributes/AttributeBag.php (added)
-
vendor/sentry/sentry/src/Client.php (modified) (3 diffs)
-
vendor/sentry/sentry/src/Dsn.php (modified) (6 diffs)
-
vendor/sentry/sentry/src/Event.php (modified) (4 diffs)
-
vendor/sentry/sentry/src/EventType.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Logger/DebugFileLogger.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Logger/DebugLogger.php (added)
-
vendor/sentry/sentry/src/Logger/DebugStdOutLogger.php (modified) (1 diff)
-
vendor/sentry/sentry/src/Logs (added)
-
vendor/sentry/sentry/src/Logs/Log.php (added)
-
vendor/sentry/sentry/src/Logs/LogLevel.php (added)
-
vendor/sentry/sentry/src/Logs/Logs.php (added)
-
vendor/sentry/sentry/src/Logs/LogsAggregator.php (added)
-
vendor/sentry/sentry/src/Options.php (modified) (10 diffs)
-
vendor/sentry/sentry/src/Serializer/AbstractSerializer.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Serializer/EnvelopItems/EnvelopeItemInterface.php (modified) (1 diff)
-
vendor/sentry/sentry/src/Serializer/EnvelopItems/LogsItem.php (added)
-
vendor/sentry/sentry/src/Serializer/EnvelopItems/ProfileItem.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Serializer/EnvelopItems/TransactionItem.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Serializer/PayloadSerializer.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/State/Hub.php (modified) (1 diff)
-
vendor/sentry/sentry/src/Tracing/DynamicSamplingContext.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Tracing/GuzzleTracingMiddleware.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Tracing/PropagationContext.php (modified) (3 diffs)
-
vendor/sentry/sentry/src/Tracing/Span.php (modified) (1 diff)
-
vendor/sentry/sentry/src/Tracing/TransactionContext.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Transport/RateLimiter.php (modified) (2 diffs)
-
vendor/sentry/sentry/src/Util/Arr.php (added)
-
vendor/sentry/sentry/src/functions.php (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pay-with-flex/trunk/composer.lock
r3306095 r3308128 452 452 { 453 453 "name": "sentry/sentry", 454 "version": "4.1 1.1",454 "version": "4.12.0", 455 455 "source": { 456 456 "type": "git", 457 457 "url": "https://github.com/getsentry/sentry-php.git", 458 "reference": " 53dc0bcb6a667cac5b760b46f98d5380e63e02ca"459 }, 460 "dist": { 461 "type": "zip", 462 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/ 53dc0bcb6a667cac5b760b46f98d5380e63e02ca",463 "reference": " 53dc0bcb6a667cac5b760b46f98d5380e63e02ca",458 "reference": "0173702ffcbe36ce7638f07f090271294866a7a0" 459 }, 460 "dist": { 461 "type": "zip", 462 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/0173702ffcbe36ce7638f07f090271294866a7a0", 463 "reference": "0173702ffcbe36ce7638f07f090271294866a7a0", 464 464 "shasum": "" 465 465 }, … … 525 525 "support": { 526 526 "issues": "https://github.com/getsentry/sentry-php/issues", 527 "source": "https://github.com/getsentry/sentry-php/tree/4.1 1.1"527 "source": "https://github.com/getsentry/sentry-php/tree/4.12.0" 528 528 }, 529 529 "funding": [ … … 537 537 } 538 538 ], 539 "time": "2025-0 5-12T11:30:33+00:00"539 "time": "2025-06-07T08:37:56+00:00" 540 540 }, 541 541 { -
pay-with-flex/trunk/pay-with-flex.php
r3306095 r3308128 3 3 * Plugin Name: Flex HSA/FSA Payments 4 4 * Description: Accept HSA/FSA payments directly in the checkout flow. 5 * Version: 3. 0.05 * Version: 3.1.0 6 6 * Plugin URI: https://wordpress.org/plugins/pay-with-flex/ 7 7 * Author: Flex … … 25 25 use Flex\PaymentGateway; 26 26 use Flex\Resource\CheckoutSession\LineItem; 27 use Flex\Resource\Coupon; 27 28 use Flex\Resource\Price; 28 29 use Flex\Resource\Product; … … 345 346 346 347 /** 348 * Update Coupon in Flex. 349 * 350 * @param int $product_id The id of the product. 351 * @param int $retries The number of retries that have been attempted. 352 * 353 * @throws \Exception If the product fails to be updated. 354 */ 355 function flex_update_coupon_async( int $product_id, int $retries = 0 ): void { 356 flex_enqueue_async_action( 357 hook: 'flex_update_coupon', 358 args: array( $product_id, $retries ), 359 group: "product-$product_id", 360 retries: $retries, 361 ); 362 } 363 364 /** 347 365 * Update Product in Flex. 348 366 * … … 366 384 367 385 $flex_product = Product::from_wc( $product ); 368 369 $action = $flex_product->needs(); 370 371 // It's possible that the product no longer needs updating (i.e. if the changes have been reverted). 372 if ( ! $flex_product->can( $action ) ) { 373 return; 374 } 375 376 $flex_product->exec( $action ); 386 $flex_product->exec( $flex_product->needs() ); 377 387 } catch ( \Throwable $previous ) { 378 388 flex_update_product_async( $product_id, $retries + 1 ); … … 408 418 409 419 $price = Price::from_wc( $product ); 410 411 $action = $price->needs(); 412 413 // It's possible that the price no longer needs updating (i.e. if the changes have been reverted). 414 if ( ! $price->can( $action ) ) { 415 return; 416 } 417 418 $price->exec( $action ); 420 $price->exec( $price->needs() ); 419 421 } catch ( \Throwable $previous ) { 420 422 flex_update_price_async( $product_id, $retries + 1 ); … … 429 431 430 432 /** 433 * Update Coupon in Flex. 434 * 435 * @param int $product_id The id of the coupon. 436 * @param int $retries The number of retries that have been attempted. 437 * 438 * @throws FlexException If the API key is not set. 439 * @throws \Throwable Any caught exceptions. 440 */ 441 function flex_update_coupon( int $product_id, int $retries = 0 ): void { 442 try { 443 $gateway = payment_gateway(); 444 if ( empty( $gateway->api_key() ) ) { 445 throw new FlexException( 'API Key is not set' ); 446 } 447 448 $product = wc_get_product( $product_id ); 449 if ( ! $product ) { 450 return; 451 } 452 453 $coupon = Coupon::from_wc( $product ); 454 $coupon->exec( $coupon->needs() ); 455 } catch ( \Throwable $previous ) { 456 flex_update_coupon_async( $product_id, $retries + 1 ); 457 throw $previous; 458 } 459 } 460 add_action( 461 hook_name: 'flex_update_coupon', 462 callback: __NAMESPACE__ . '\flex_update_coupon', 463 accepted_args: 2, 464 ); 465 466 /** 431 467 * Listens to product update and enqueues an update in Flex if needed. 432 468 * … … 454 490 } 455 491 492 $coupon = Coupon::from_wc( $product ); 493 if ( $coupon->can( $coupon->needs() ) ) { 494 flex_update_coupon_async( $product_id ); 495 return; 496 } 497 456 498 $variation_ids = $product->get_children(); 457 499 foreach ( $variation_ids as $variation_id ) { 458 500 $variation = wc_get_product( $variation_id ); 459 $price = Price::from_wc( $variation ); 460 501 502 $price = Price::from_wc( $variation ); 461 503 if ( $price->can( $price->needs() ) ) { 462 504 flex_update_price_async( $variation_id ); 505 continue; 506 } 507 508 $coupon = Coupon::from_wc( $variation ); 509 if ( $coupon->can( $coupon->needs() ) ) { 510 flex_update_coupon_async( $variation_id ); 511 continue; 463 512 } 464 513 } … … 491 540 $price = Price::from_wc( $product ); 492 541 if ( $price->can( $price->needs() ) ) { 493 return; 494 } 495 496 flex_update_price_async( $product_id ); 542 flex_update_price_async( $product_id ); 543 return; 544 } 545 546 $coupon = Coupon::from_wc( $product ); 547 if ( $coupon->can( $coupon->needs() ) ) { 548 flex_update_coupon_async( $product_id ); 549 return; 550 } 497 551 } 498 552 add_action( … … 602 656 603 657 /** 658 * React to the payment method being enabled. 659 */ 660 function payment_method_enabled(): void { 661 sentry()->captureMessage( 662 message: 'Payment method enabled', 663 level: Severity::info(), 664 ); 665 666 $gateway = payment_gateway(); 667 668 // Refresh the settings from the database so we are working with the latest version. 669 $gateway->init_settings(); 670 671 // If no API key is present, then there is nothing to do. 672 if ( empty( $gateway->api_key() ) ) { 673 return; 674 } 675 676 // Check to see if the webhook needs to be updated. 677 $webhook = Webhook::from_wc( $gateway ); 678 if ( $webhook->can( $webhook->needs() ) ) { 679 flex_update_webhook_async(); 680 } 681 682 for ( $i = 1; ; $i++ ) { 683 /** 684 * Fetch all of the products we support. 685 * 686 * @var \WC_Product[] 687 */ 688 $products = wc_get_products( 689 array( 690 'paged' => $i, 691 'type' => array_merge( Product::WC_TYPES, Price::WC_TYPES ), 692 ) 693 ); 694 695 if ( empty( $products ) ) { 696 break; 697 } 698 699 // Enqueue all of them to be updated. 700 foreach ( $products as $product ) { 701 wc_update_product( $product->get_id(), $product ); 702 } 703 } 704 } 705 706 /** 707 * React to the payment method being disabled. 708 */ 709 function payment_method_disabled(): void { 710 sentry()->captureMessage( 711 message: 'Payment method disabled', 712 level: Severity::warning(), 713 ); 714 $gateway = payment_gateway(); 715 716 // Refresh the settings from the database so we are working with the latest version. 717 $gateway->init_settings(); 718 719 // Check to see if the webhook needs to be updated. 720 $webhook = Webhook::from_wc( $gateway ); 721 if ( $webhook->can( $webhook->needs() ) ) { 722 flex_update_webhook_async(); 723 } 724 } 725 726 /** 604 727 * Listen to settings changes for Flex gateway. 605 728 * … … 616 739 } 617 740 618 $gateway = payment_gateway();619 620 // Refresh the settings from the database so we are working with the latest version.621 $gateway->init_settings();622 623 // Payment method activation.624 741 if ( 'yes' === $value['enabled'] && ( null === $old_value || ! isset( $old_value['enabled'] ) || 'no' === $old_value['enabled'] ) ) { 625 sentry()->captureMessage( 626 message: 'Payment method enabled', 627 level: Severity::info(), 628 ); 629 630 // If no API key is present, then there is nothing to do. 631 if ( empty( $gateway->api_key() ) ) { 632 return; 633 } 634 635 // Check to see if the webhook needs to be updated. 636 $webhook = Webhook::from_wc( $gateway ); 637 if ( $webhook->can( $webhook->needs() ) ) { 638 flex_update_webhook_async(); 639 } 640 641 for ( $i = 1; ; $i++ ) { 642 /** 643 * Fetch all of the products we support. 644 * 645 * @var \WC_Product[] 646 */ 647 $products = wc_get_products( 648 array( 649 'paged' => $i, 650 'type' => array_merge( Product::WC_TYPES, Price::WC_TYPES ), 651 ) 652 ); 653 654 if ( empty( $products ) ) { 655 break; 656 } 657 658 // Enqueue all of them to be updated. 659 foreach ( $products as $product ) { 660 wc_update_product( $product->get_id(), $product ); 661 } 662 } 663 } elseif ( 'no' === $value['enabled'] && 'yes' === $old_value['enabled'] ) { // Payment method deactivation. 664 sentry()->captureMessage( 665 message: 'Payment method disabled', 666 level: Severity::warning(), 667 ); 668 669 // Check to see if the webhook needs to be updated. 670 $webhook = Webhook::from_wc( $gateway ); 671 if ( $webhook->can( $webhook->needs() ) ) { 672 flex_update_webhook_async(); 673 } 742 payment_method_enabled(); 743 } elseif ( 'no' === $value['enabled'] && 'yes' === $old_value['enabled'] ) { 744 payment_method_disabled(); 674 745 } 675 746 } … … 677 748 hook_name: 'update_option_woocommerce_flex_settings', 678 749 callback: __NAMESPACE__ . '\update_option_wc_flex_settings', 750 accepted_args: 2, 751 ); 752 753 /** 754 * Adding the WooCommerce option for the first time. 755 * 756 * @param string $option The name of the option. 757 * @param mixed $value The value of the option. 758 */ 759 function add_option_wc_flex_settings( string $option, mixed $value ): void { 760 if ( ! is_array( $value ) ) { 761 return; 762 } 763 764 if ( ! isset( $value['enabled'] ) ) { 765 return; 766 } 767 768 if ( 'yes' === $value['enabled'] ) { 769 payment_method_enabled(); 770 } 771 } 772 add_action( 773 hook_name: 'add_option_woocommerce_flex_settings', 774 callback: __NAMESPACE__ . '\add_option_wc_flex_settings', 679 775 accepted_args: 2, 680 776 ); -
pay-with-flex/trunk/readme.txt
r3306095 r3308128 4 4 Requires at least: 6.8 5 5 Tested up to: 6.8 6 Stable tag: 3. 0.06 Stable tag: 3.1.0 7 7 Requires PHP: 8.1 8 8 License: GPLv3 or later … … 56 56 == Changelog == 57 57 58 = 3.1.0 = 59 * Added support for [Coupons](https://woocommerce.com/document/coupon-management/). 60 * Added support for Sale Price. 61 * Fixed a bug that prevented product sync when the payment method was enabled for the very first time. 62 58 63 = 3.0.0 = 59 * Added support f ro processing refundsfrom within WooCommerce.64 * Added support for processing [refunds](https://woocommerce.com/document/woocommerce-refunds/#automatic-refunds) from within WooCommerce. 60 65 * Added the `FLEX_TELEMETRY` constant which allows users to opt-out of telemetry by setting the constant to `false`. 61 66 * Fixed `PHP Notice: Function _load_textdomain_just_in_time was called incorrectly.` -
pay-with-flex/trunk/src/Resource/CheckoutSession/CheckoutSession.php
r3306095 r3308128 12 12 use Flex\Controller\Controller; 13 13 use Flex\Exception\FlexException; 14 use Flex\Resource\Coupon; 14 15 use Flex\Resource\Resource; 15 16 use Flex\Resource\ResourceAction; … … 32 33 */ 33 34 protected ?\WC_Order $wc = null; 35 36 /** 37 * Line Items 38 * 39 * @var LineItem[] 40 */ 41 protected array $line_items; 42 43 /** 44 * Discounts 45 * 46 * @var Discount[] 47 */ 48 protected array $discounts; 34 49 35 50 /** … … 49 64 * @param ?TaxRate $tax_rate The tax if there is one. 50 65 * @param ?string $cancel_url The url to use to cancel the checkout session. 66 * @param ?Discount[] $discounts The discounts to apply to the checkout session. 67 * @throws \LogicException If the line_items or discounts contain something other than their respective types. 51 68 */ 52 69 public function __construct( … … 54 71 protected ?CustomerDefaults $defaults = null, 55 72 protected ?string $redirect_url = null, 56 protectedarray $line_items = array(),73 array $line_items = array(), 57 74 protected ?string $id = null, 58 75 protected ?string $client_reference_id = null, … … 64 81 protected ?TaxRate $tax_rate = null, 65 82 protected ?string $cancel_url = null, 66 ) {} 83 ?array $discounts = null, 84 ) { 85 if ( ! array_all( $line_items, fn ( $item ) => $item instanceof LineItem ) ) { 86 throw new \LogicException( 'CheckoutSession::$line_items may only contain instances of LineItem' ); 87 } 88 $this->line_items = $line_items; 89 90 if ( ! empty( $discounts ) && ! array_all( $discounts, fn ( $item ) => $item instanceof Discount ) ) { 91 throw new \LogicException( 'CheckoutSession::$discounts may only contain instances of Discount' ); 92 } 93 94 $this->discounts = $discounts ?? array(); 95 } 67 96 68 97 /** … … 124 153 } 125 154 155 if ( ! empty( $this->discounts ) ) { 156 $data['discounts'] = $this->discounts; 157 } 158 126 159 return $data; 127 160 } … … 143 176 144 177 $tax_rate = TaxRate::from_wc( $order ); 178 179 // Recreate the discounts so we can get a line-item level discount. 180 $wc_discounts = new \WC_Discounts( $order ); 181 foreach ( $order->get_coupons() as $applied ) { 182 // We do *not* verify the coupons because they have already been verified when they were placed on the order. 183 // Applying the coupons again _should_ be deterministic. 184 $wc_discounts->apply_coupon( new \WC_Coupon( $applied->get_code() ), false ); 185 } 186 187 // Group the discounts by the code → amount → line item 188 // If the discount is spread evenly across line items, we can share the discount in Flex. 189 $discounts_grouped = array(); 190 foreach ( $wc_discounts->get_discounts() as $code => $items ) { 191 foreach ( $items as $item_id => $amount ) { 192 $discounts_grouped[ $code ][ self::currency_to_unit_amount( $amount ) ][] = $item_id; 193 } 194 } 195 196 $discounts = array(); 197 foreach ( $discounts_grouped as $code => $group ) { 198 foreach ( $group as $per_item_amount => $item_ids ) { 199 $amount_off = $per_item_amount * count( $item_ids ); 200 if ( empty( $amount_off ) ) { 201 continue; 202 } 203 204 $discounts[] = new Discount( 205 new Coupon( 206 name: $code, 207 amount_off: $amount_off, 208 applies_to: array_map( fn( $item_id ) => LineItem::from_wc( $order->get_item( $item_id ) )->price(), $item_ids ), 209 ) 210 ); 211 } 212 } 213 214 // Add the sale price discounts. 215 foreach ( $order->get_items() as $item ) { 216 if ( ! $item instanceof \WC_Order_Item_Product ) { 217 continue; 218 } 219 220 $product = $item->get_product(); 221 if ( $product->get_price() !== $product->get_sale_price() ) { 222 continue; 223 } 224 225 $coupon = Coupon::from_wc( $product ); 226 if ( empty( $coupon->amount_off() ) ) { 227 continue; 228 } 229 230 $quantity = $item->get_quantity(); 231 232 // Add a discount for each individiaul item. 233 for ( $i = 0; $i < $quantity; $i++ ) { 234 $discounts[] = new Discount( $coupon ); 235 } 236 } 145 237 146 238 $checkout_session = new self( … … 158 250 tax_rate: $tax_rate->amount() > 0 ? $tax_rate : null, 159 251 cancel_url: wc_get_checkout_url(), 252 discounts: $discounts, 160 253 ); 161 254 … … 225 318 public function needs(): ResourceAction { 226 319 // Handle any dependency actions first. 227 if ( array_any( $this->line_items, fn( $line_item ) => $line_item->needs() !== ResourceAction::NONE ) ) { 320 if ( array_any( $this->line_items, static fn( $line_item ) => $line_item->needs() !== ResourceAction::NONE ) ) { 321 return ResourceAction::DEPENDENCY; 322 } 323 324 if ( array_any( $this->discounts, static fn( $discount ) => $discount->needs() !== ResourceAction::NONE ) ) { 228 325 return ResourceAction::DEPENDENCY; 229 326 } … … 313 410 $line_item->exec( $line_item->needs() ); 314 411 } 412 413 foreach ( $this->discounts as $discount ) { 414 $discount->exec( $discount->needs() ); 415 } 416 417 // Re-evaluate the action. 418 $this->exec( $this->needs() ); 419 return; 315 420 } 316 421 317 422 $data = $this->remote_request( 318 423 match ( $action ) { 319 ResourceAction::CREATE , ResourceAction::DEPENDENCY=> '/v1/checkout/sessions',424 ResourceAction::CREATE => '/v1/checkout/sessions', 320 425 ResourceAction::REFRESH => '/v1/checkout/sessions/' . $this->id, 321 426 }, 322 427 array( 323 428 'method' => match ( $action ) { 324 ResourceAction::CREATE , ResourceAction::DEPENDENCY=> 'POST',429 ResourceAction::CREATE => 'POST', 325 430 ResourceAction::REFRESH => 'GET', 326 431 }, 327 432 'flex' => match ( $action ) { 328 ResourceAction::CREATE , ResourceAction::DEPENDENCY=> array( 'data' => array( 'checkout_session' => $this ) ),433 ResourceAction::CREATE => array( 'data' => array( 'checkout_session' => $this ) ), 329 434 ResourceAction::REFRESH => array(), 330 435 }, -
pay-with-flex/trunk/src/Resource/CheckoutSession/LineItem.php
r3306095 r3308128 53 53 public function price(): Price { 54 54 return $this->price; 55 } 56 57 /** 58 * Returns the quantity associated with the line item. 59 */ 60 public function quantity(): int { 61 return $this->quantity; 55 62 } 56 63 -
pay-with-flex/trunk/src/Resource/Price.php
r3296637 r3308128 260 260 261 261 // Revaluate the action that is needed. 262 $action = $this->needs(); 263 if ( ResourceAction::DEPENDENCY === $action || false === $this->can( $action ) ) { 264 return; 265 } 262 $this->exec( $this->needs() ); 263 return; 266 264 } 267 265 -
pay-with-flex/trunk/vendor/composer/autoload_classmap.php
r3306095 r3308128 23 23 'Flex\\Resource\\CheckoutSession\\CheckoutSession' => $baseDir . '/src/Resource/CheckoutSession/CheckoutSession.php', 24 24 'Flex\\Resource\\CheckoutSession\\CustomerDefaults' => $baseDir . '/src/Resource/CheckoutSession/CustomerDefaults.php', 25 'Flex\\Resource\\CheckoutSession\\Discount' => $baseDir . '/src/Resource/CheckoutSession/Discount.php', 25 26 'Flex\\Resource\\CheckoutSession\\LineItem' => $baseDir . '/src/Resource/CheckoutSession/LineItem.php', 26 27 'Flex\\Resource\\CheckoutSession\\Mode' => $baseDir . '/src/Resource/CheckoutSession/Mode.php', … … 30 31 'Flex\\Resource\\CheckoutSession\\Status' => $baseDir . '/src/Resource/CheckoutSession/Status.php', 31 32 'Flex\\Resource\\CheckoutSession\\TaxRate' => $baseDir . '/src/Resource/CheckoutSession/TaxRate.php', 33 'Flex\\Resource\\Coupon' => $baseDir . '/src/Resource/Coupon.php', 32 34 'Flex\\Resource\\Price' => $baseDir . '/src/Resource/Price.php', 33 35 'Flex\\Resource\\Product' => $baseDir . '/src/Resource/Product.php', … … 97 99 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/src/LoggerTrait.php', 98 100 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/src/NullLogger.php', 101 'Sentry\\Attributes\\Attribute' => $vendorDir . '/sentry/sentry/src/Attributes/Attribute.php', 102 'Sentry\\Attributes\\AttributeBag' => $vendorDir . '/sentry/sentry/src/Attributes/AttributeBag.php', 99 103 'Sentry\\Breadcrumb' => $vendorDir . '/sentry/sentry/src/Breadcrumb.php', 100 104 'Sentry\\CheckIn' => $vendorDir . '/sentry/sentry/src/CheckIn.php', … … 138 142 'Sentry\\Integration\\TransactionIntegration' => $vendorDir . '/sentry/sentry/src/Integration/TransactionIntegration.php', 139 143 'Sentry\\Logger\\DebugFileLogger' => $vendorDir . '/sentry/sentry/src/Logger/DebugFileLogger.php', 144 'Sentry\\Logger\\DebugLogger' => $vendorDir . '/sentry/sentry/src/Logger/DebugLogger.php', 140 145 'Sentry\\Logger\\DebugStdOutLogger' => $vendorDir . '/sentry/sentry/src/Logger/DebugStdOutLogger.php', 146 'Sentry\\Logs\\Log' => $vendorDir . '/sentry/sentry/src/Logs/Log.php', 147 'Sentry\\Logs\\LogLevel' => $vendorDir . '/sentry/sentry/src/Logs/LogLevel.php', 148 'Sentry\\Logs\\Logs' => $vendorDir . '/sentry/sentry/src/Logs/Logs.php', 149 'Sentry\\Logs\\LogsAggregator' => $vendorDir . '/sentry/sentry/src/Logs/LogsAggregator.php', 141 150 'Sentry\\Metrics\\Metrics' => $vendorDir . '/sentry/sentry/src/Metrics/Metrics.php', 142 151 'Sentry\\Metrics\\MetricsUnit' => $vendorDir . '/sentry/sentry/src/Metrics/MetricsUnit.php', … … 155 164 'Sentry\\Serializer\\EnvelopItems\\EnvelopeItemInterface' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/EnvelopeItemInterface.php', 156 165 'Sentry\\Serializer\\EnvelopItems\\EventItem' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/EventItem.php', 166 'Sentry\\Serializer\\EnvelopItems\\LogsItem' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/LogsItem.php', 157 167 'Sentry\\Serializer\\EnvelopItems\\ProfileItem' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/ProfileItem.php', 158 168 'Sentry\\Serializer\\EnvelopItems\\TransactionItem' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/TransactionItem.php', … … 195 205 'Sentry\\Transport\\TransportInterface' => $vendorDir . '/sentry/sentry/src/Transport/TransportInterface.php', 196 206 'Sentry\\UserDataBag' => $vendorDir . '/sentry/sentry/src/UserDataBag.php', 207 'Sentry\\Util\\Arr' => $vendorDir . '/sentry/sentry/src/Util/Arr.php', 197 208 'Sentry\\Util\\Http' => $vendorDir . '/sentry/sentry/src/Util/Http.php', 198 209 'Sentry\\Util\\JSON' => $vendorDir . '/sentry/sentry/src/Util/JSON.php', -
pay-with-flex/trunk/vendor/composer/autoload_static.php
r3306095 r3308128 101 101 'Flex\\Resource\\CheckoutSession\\CheckoutSession' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/CheckoutSession.php', 102 102 'Flex\\Resource\\CheckoutSession\\CustomerDefaults' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/CustomerDefaults.php', 103 'Flex\\Resource\\CheckoutSession\\Discount' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/Discount.php', 103 104 'Flex\\Resource\\CheckoutSession\\LineItem' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/LineItem.php', 104 105 'Flex\\Resource\\CheckoutSession\\Mode' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/Mode.php', … … 108 109 'Flex\\Resource\\CheckoutSession\\Status' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/Status.php', 109 110 'Flex\\Resource\\CheckoutSession\\TaxRate' => __DIR__ . '/../..' . '/src/Resource/CheckoutSession/TaxRate.php', 111 'Flex\\Resource\\Coupon' => __DIR__ . '/../..' . '/src/Resource/Coupon.php', 110 112 'Flex\\Resource\\Price' => __DIR__ . '/../..' . '/src/Resource/Price.php', 111 113 'Flex\\Resource\\Product' => __DIR__ . '/../..' . '/src/Resource/Product.php', … … 175 177 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/src/LoggerTrait.php', 176 178 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/src/NullLogger.php', 179 'Sentry\\Attributes\\Attribute' => __DIR__ . '/..' . '/sentry/sentry/src/Attributes/Attribute.php', 180 'Sentry\\Attributes\\AttributeBag' => __DIR__ . '/..' . '/sentry/sentry/src/Attributes/AttributeBag.php', 177 181 'Sentry\\Breadcrumb' => __DIR__ . '/..' . '/sentry/sentry/src/Breadcrumb.php', 178 182 'Sentry\\CheckIn' => __DIR__ . '/..' . '/sentry/sentry/src/CheckIn.php', … … 216 220 'Sentry\\Integration\\TransactionIntegration' => __DIR__ . '/..' . '/sentry/sentry/src/Integration/TransactionIntegration.php', 217 221 'Sentry\\Logger\\DebugFileLogger' => __DIR__ . '/..' . '/sentry/sentry/src/Logger/DebugFileLogger.php', 222 'Sentry\\Logger\\DebugLogger' => __DIR__ . '/..' . '/sentry/sentry/src/Logger/DebugLogger.php', 218 223 'Sentry\\Logger\\DebugStdOutLogger' => __DIR__ . '/..' . '/sentry/sentry/src/Logger/DebugStdOutLogger.php', 224 'Sentry\\Logs\\Log' => __DIR__ . '/..' . '/sentry/sentry/src/Logs/Log.php', 225 'Sentry\\Logs\\LogLevel' => __DIR__ . '/..' . '/sentry/sentry/src/Logs/LogLevel.php', 226 'Sentry\\Logs\\Logs' => __DIR__ . '/..' . '/sentry/sentry/src/Logs/Logs.php', 227 'Sentry\\Logs\\LogsAggregator' => __DIR__ . '/..' . '/sentry/sentry/src/Logs/LogsAggregator.php', 219 228 'Sentry\\Metrics\\Metrics' => __DIR__ . '/..' . '/sentry/sentry/src/Metrics/Metrics.php', 220 229 'Sentry\\Metrics\\MetricsUnit' => __DIR__ . '/..' . '/sentry/sentry/src/Metrics/MetricsUnit.php', … … 233 242 'Sentry\\Serializer\\EnvelopItems\\EnvelopeItemInterface' => __DIR__ . '/..' . '/sentry/sentry/src/Serializer/EnvelopItems/EnvelopeItemInterface.php', 234 243 'Sentry\\Serializer\\EnvelopItems\\EventItem' => __DIR__ . '/..' . '/sentry/sentry/src/Serializer/EnvelopItems/EventItem.php', 244 'Sentry\\Serializer\\EnvelopItems\\LogsItem' => __DIR__ . '/..' . '/sentry/sentry/src/Serializer/EnvelopItems/LogsItem.php', 235 245 'Sentry\\Serializer\\EnvelopItems\\ProfileItem' => __DIR__ . '/..' . '/sentry/sentry/src/Serializer/EnvelopItems/ProfileItem.php', 236 246 'Sentry\\Serializer\\EnvelopItems\\TransactionItem' => __DIR__ . '/..' . '/sentry/sentry/src/Serializer/EnvelopItems/TransactionItem.php', … … 273 283 'Sentry\\Transport\\TransportInterface' => __DIR__ . '/..' . '/sentry/sentry/src/Transport/TransportInterface.php', 274 284 'Sentry\\UserDataBag' => __DIR__ . '/..' . '/sentry/sentry/src/UserDataBag.php', 285 'Sentry\\Util\\Arr' => __DIR__ . '/..' . '/sentry/sentry/src/Util/Arr.php', 275 286 'Sentry\\Util\\Http' => __DIR__ . '/..' . '/sentry/sentry/src/Util/Http.php', 276 287 'Sentry\\Util\\JSON' => __DIR__ . '/..' . '/sentry/sentry/src/Util/JSON.php', -
pay-with-flex/trunk/vendor/composer/installed.json
r3306095 r3308128 467 467 { 468 468 "name": "sentry/sentry", 469 "version": "4.1 1.1",470 "version_normalized": "4.1 1.1.0",469 "version": "4.12.0", 470 "version_normalized": "4.12.0.0", 471 471 "source": { 472 472 "type": "git", 473 473 "url": "https://github.com/getsentry/sentry-php.git", 474 "reference": " 53dc0bcb6a667cac5b760b46f98d5380e63e02ca"475 }, 476 "dist": { 477 "type": "zip", 478 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/ 53dc0bcb6a667cac5b760b46f98d5380e63e02ca",479 "reference": " 53dc0bcb6a667cac5b760b46f98d5380e63e02ca",474 "reference": "0173702ffcbe36ce7638f07f090271294866a7a0" 475 }, 476 "dist": { 477 "type": "zip", 478 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/0173702ffcbe36ce7638f07f090271294866a7a0", 479 "reference": "0173702ffcbe36ce7638f07f090271294866a7a0", 480 480 "shasum": "" 481 481 }, … … 507 507 "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." 508 508 }, 509 "time": "2025-0 5-12T11:30:33+00:00",509 "time": "2025-06-07T08:37:56+00:00", 510 510 "type": "library", 511 511 "installation-source": "dist", … … 543 543 "support": { 544 544 "issues": "https://github.com/getsentry/sentry-php/issues", 545 "source": "https://github.com/getsentry/sentry-php/tree/4.1 1.1"545 "source": "https://github.com/getsentry/sentry-php/tree/4.12.0" 546 546 }, 547 547 "funding": [ -
pay-with-flex/trunk/vendor/composer/installed.php
r3306095 r3308128 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' b52bc3dd944a3f0dc9e1ffb085a3e4f95efe9343',6 'reference' => '2beb32d234e288a9a5afa8a86de34e8d978774f9', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-main', 15 15 'version' => 'dev-main', 16 'reference' => ' b52bc3dd944a3f0dc9e1ffb085a3e4f95efe9343',16 'reference' => '2beb32d234e288a9a5afa8a86de34e8d978774f9', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../../', … … 96 96 ), 97 97 'sentry/sentry' => array( 98 'pretty_version' => '4.1 1.1',99 'version' => '4.1 1.1.0',100 'reference' => ' 53dc0bcb6a667cac5b760b46f98d5380e63e02ca',98 'pretty_version' => '4.12.0', 99 'version' => '4.12.0.0', 100 'reference' => '0173702ffcbe36ce7638f07f090271294866a7a0', 101 101 'type' => 'library', 102 102 'install_path' => __DIR__ . '/../sentry/sentry', -
pay-with-flex/trunk/vendor/composer/jetpack_autoload_classmap.php
r3306095 r3308128 83 83 'path' => $baseDir . '/src/Resource/CheckoutSession/CustomerDefaults.php' 84 84 ), 85 'Flex\\Resource\\CheckoutSession\\Discount' => array( 86 'version' => 'dev-main', 87 'path' => $baseDir . '/src/Resource/CheckoutSession/Discount.php' 88 ), 85 89 'Flex\\Resource\\CheckoutSession\\LineItem' => array( 86 90 'version' => 'dev-main', … … 110 114 'version' => 'dev-main', 111 115 'path' => $baseDir . '/src/Resource/CheckoutSession/TaxRate.php' 116 ), 117 'Flex\\Resource\\Coupon' => array( 118 'version' => 'dev-main', 119 'path' => $baseDir . '/src/Resource/Coupon.php' 112 120 ), 113 121 'Flex\\Resource\\Price' => array( … … 407 415 'path' => $vendorDir . '/psr/log/src/NullLogger.php' 408 416 ), 417 'Sentry\\Attributes\\Attribute' => array( 418 'version' => '4.12.0.0', 419 'path' => $vendorDir . '/sentry/sentry/src/Attributes/Attribute.php' 420 ), 421 'Sentry\\Attributes\\AttributeBag' => array( 422 'version' => '4.12.0.0', 423 'path' => $vendorDir . '/sentry/sentry/src/Attributes/AttributeBag.php' 424 ), 409 425 'Sentry\\Breadcrumb' => array( 410 'version' => '4.1 1.1.0',426 'version' => '4.12.0.0', 411 427 'path' => $vendorDir . '/sentry/sentry/src/Breadcrumb.php' 412 428 ), 413 429 'Sentry\\CheckIn' => array( 414 'version' => '4.1 1.1.0',430 'version' => '4.12.0.0', 415 431 'path' => $vendorDir . '/sentry/sentry/src/CheckIn.php' 416 432 ), 417 433 'Sentry\\CheckInStatus' => array( 418 'version' => '4.1 1.1.0',434 'version' => '4.12.0.0', 419 435 'path' => $vendorDir . '/sentry/sentry/src/CheckInStatus.php' 420 436 ), 421 437 'Sentry\\Client' => array( 422 'version' => '4.1 1.1.0',438 'version' => '4.12.0.0', 423 439 'path' => $vendorDir . '/sentry/sentry/src/Client.php' 424 440 ), 425 441 'Sentry\\ClientBuilder' => array( 426 'version' => '4.1 1.1.0',442 'version' => '4.12.0.0', 427 443 'path' => $vendorDir . '/sentry/sentry/src/ClientBuilder.php' 428 444 ), 429 445 'Sentry\\ClientInterface' => array( 430 'version' => '4.1 1.1.0',446 'version' => '4.12.0.0', 431 447 'path' => $vendorDir . '/sentry/sentry/src/ClientInterface.php' 432 448 ), 433 449 'Sentry\\Context\\OsContext' => array( 434 'version' => '4.1 1.1.0',450 'version' => '4.12.0.0', 435 451 'path' => $vendorDir . '/sentry/sentry/src/Context/OsContext.php' 436 452 ), 437 453 'Sentry\\Context\\RuntimeContext' => array( 438 'version' => '4.1 1.1.0',454 'version' => '4.12.0.0', 439 455 'path' => $vendorDir . '/sentry/sentry/src/Context/RuntimeContext.php' 440 456 ), 441 457 'Sentry\\Dsn' => array( 442 'version' => '4.1 1.1.0',458 'version' => '4.12.0.0', 443 459 'path' => $vendorDir . '/sentry/sentry/src/Dsn.php' 444 460 ), 445 461 'Sentry\\ErrorHandler' => array( 446 'version' => '4.1 1.1.0',462 'version' => '4.12.0.0', 447 463 'path' => $vendorDir . '/sentry/sentry/src/ErrorHandler.php' 448 464 ), 449 465 'Sentry\\Event' => array( 450 'version' => '4.1 1.1.0',466 'version' => '4.12.0.0', 451 467 'path' => $vendorDir . '/sentry/sentry/src/Event.php' 452 468 ), 453 469 'Sentry\\EventHint' => array( 454 'version' => '4.1 1.1.0',470 'version' => '4.12.0.0', 455 471 'path' => $vendorDir . '/sentry/sentry/src/EventHint.php' 456 472 ), 457 473 'Sentry\\EventId' => array( 458 'version' => '4.1 1.1.0',474 'version' => '4.12.0.0', 459 475 'path' => $vendorDir . '/sentry/sentry/src/EventId.php' 460 476 ), 461 477 'Sentry\\EventType' => array( 462 'version' => '4.1 1.1.0',478 'version' => '4.12.0.0', 463 479 'path' => $vendorDir . '/sentry/sentry/src/EventType.php' 464 480 ), 465 481 'Sentry\\ExceptionDataBag' => array( 466 'version' => '4.1 1.1.0',482 'version' => '4.12.0.0', 467 483 'path' => $vendorDir . '/sentry/sentry/src/ExceptionDataBag.php' 468 484 ), 469 485 'Sentry\\ExceptionMechanism' => array( 470 'version' => '4.1 1.1.0',486 'version' => '4.12.0.0', 471 487 'path' => $vendorDir . '/sentry/sentry/src/ExceptionMechanism.php' 472 488 ), 473 489 'Sentry\\Exception\\EventCreationException' => array( 474 'version' => '4.1 1.1.0',490 'version' => '4.12.0.0', 475 491 'path' => $vendorDir . '/sentry/sentry/src/Exception/EventCreationException.php' 476 492 ), 477 493 'Sentry\\Exception\\FatalErrorException' => array( 478 'version' => '4.1 1.1.0',494 'version' => '4.12.0.0', 479 495 'path' => $vendorDir . '/sentry/sentry/src/Exception/FatalErrorException.php' 480 496 ), 481 497 'Sentry\\Exception\\JsonException' => array( 482 'version' => '4.1 1.1.0',498 'version' => '4.12.0.0', 483 499 'path' => $vendorDir . '/sentry/sentry/src/Exception/JsonException.php' 484 500 ), 485 501 'Sentry\\Exception\\SilencedErrorException' => array( 486 'version' => '4.1 1.1.0',502 'version' => '4.12.0.0', 487 503 'path' => $vendorDir . '/sentry/sentry/src/Exception/SilencedErrorException.php' 488 504 ), 489 505 'Sentry\\Frame' => array( 490 'version' => '4.1 1.1.0',506 'version' => '4.12.0.0', 491 507 'path' => $vendorDir . '/sentry/sentry/src/Frame.php' 492 508 ), 493 509 'Sentry\\FrameBuilder' => array( 494 'version' => '4.1 1.1.0',510 'version' => '4.12.0.0', 495 511 'path' => $vendorDir . '/sentry/sentry/src/FrameBuilder.php' 496 512 ), 497 513 'Sentry\\HttpClient\\HttpClient' => array( 498 'version' => '4.1 1.1.0',514 'version' => '4.12.0.0', 499 515 'path' => $vendorDir . '/sentry/sentry/src/HttpClient/HttpClient.php' 500 516 ), 501 517 'Sentry\\HttpClient\\HttpClientInterface' => array( 502 'version' => '4.1 1.1.0',518 'version' => '4.12.0.0', 503 519 'path' => $vendorDir . '/sentry/sentry/src/HttpClient/HttpClientInterface.php' 504 520 ), 505 521 'Sentry\\HttpClient\\Request' => array( 506 'version' => '4.1 1.1.0',522 'version' => '4.12.0.0', 507 523 'path' => $vendorDir . '/sentry/sentry/src/HttpClient/Request.php' 508 524 ), 509 525 'Sentry\\HttpClient\\Response' => array( 510 'version' => '4.1 1.1.0',526 'version' => '4.12.0.0', 511 527 'path' => $vendorDir . '/sentry/sentry/src/HttpClient/Response.php' 512 528 ), 513 529 'Sentry\\Integration\\AbstractErrorListenerIntegration' => array( 514 'version' => '4.1 1.1.0',530 'version' => '4.12.0.0', 515 531 'path' => $vendorDir . '/sentry/sentry/src/Integration/AbstractErrorListenerIntegration.php' 516 532 ), 517 533 'Sentry\\Integration\\EnvironmentIntegration' => array( 518 'version' => '4.1 1.1.0',534 'version' => '4.12.0.0', 519 535 'path' => $vendorDir . '/sentry/sentry/src/Integration/EnvironmentIntegration.php' 520 536 ), 521 537 'Sentry\\Integration\\ErrorListenerIntegration' => array( 522 'version' => '4.1 1.1.0',538 'version' => '4.12.0.0', 523 539 'path' => $vendorDir . '/sentry/sentry/src/Integration/ErrorListenerIntegration.php' 524 540 ), 525 541 'Sentry\\Integration\\ExceptionListenerIntegration' => array( 526 'version' => '4.1 1.1.0',542 'version' => '4.12.0.0', 527 543 'path' => $vendorDir . '/sentry/sentry/src/Integration/ExceptionListenerIntegration.php' 528 544 ), 529 545 'Sentry\\Integration\\FatalErrorListenerIntegration' => array( 530 'version' => '4.1 1.1.0',546 'version' => '4.12.0.0', 531 547 'path' => $vendorDir . '/sentry/sentry/src/Integration/FatalErrorListenerIntegration.php' 532 548 ), 533 549 'Sentry\\Integration\\FrameContextifierIntegration' => array( 534 'version' => '4.1 1.1.0',550 'version' => '4.12.0.0', 535 551 'path' => $vendorDir . '/sentry/sentry/src/Integration/FrameContextifierIntegration.php' 536 552 ), 537 553 'Sentry\\Integration\\IntegrationInterface' => array( 538 'version' => '4.1 1.1.0',554 'version' => '4.12.0.0', 539 555 'path' => $vendorDir . '/sentry/sentry/src/Integration/IntegrationInterface.php' 540 556 ), 541 557 'Sentry\\Integration\\IntegrationRegistry' => array( 542 'version' => '4.1 1.1.0',558 'version' => '4.12.0.0', 543 559 'path' => $vendorDir . '/sentry/sentry/src/Integration/IntegrationRegistry.php' 544 560 ), 545 561 'Sentry\\Integration\\ModulesIntegration' => array( 546 'version' => '4.1 1.1.0',562 'version' => '4.12.0.0', 547 563 'path' => $vendorDir . '/sentry/sentry/src/Integration/ModulesIntegration.php' 548 564 ), 549 565 'Sentry\\Integration\\OptionAwareIntegrationInterface' => array( 550 'version' => '4.1 1.1.0',566 'version' => '4.12.0.0', 551 567 'path' => $vendorDir . '/sentry/sentry/src/Integration/OptionAwareIntegrationInterface.php' 552 568 ), 553 569 'Sentry\\Integration\\RequestFetcher' => array( 554 'version' => '4.1 1.1.0',570 'version' => '4.12.0.0', 555 571 'path' => $vendorDir . '/sentry/sentry/src/Integration/RequestFetcher.php' 556 572 ), 557 573 'Sentry\\Integration\\RequestFetcherInterface' => array( 558 'version' => '4.1 1.1.0',574 'version' => '4.12.0.0', 559 575 'path' => $vendorDir . '/sentry/sentry/src/Integration/RequestFetcherInterface.php' 560 576 ), 561 577 'Sentry\\Integration\\RequestIntegration' => array( 562 'version' => '4.1 1.1.0',578 'version' => '4.12.0.0', 563 579 'path' => $vendorDir . '/sentry/sentry/src/Integration/RequestIntegration.php' 564 580 ), 565 581 'Sentry\\Integration\\TransactionIntegration' => array( 566 'version' => '4.1 1.1.0',582 'version' => '4.12.0.0', 567 583 'path' => $vendorDir . '/sentry/sentry/src/Integration/TransactionIntegration.php' 568 584 ), 569 585 'Sentry\\Logger\\DebugFileLogger' => array( 570 'version' => '4.1 1.1.0',586 'version' => '4.12.0.0', 571 587 'path' => $vendorDir . '/sentry/sentry/src/Logger/DebugFileLogger.php' 572 588 ), 589 'Sentry\\Logger\\DebugLogger' => array( 590 'version' => '4.12.0.0', 591 'path' => $vendorDir . '/sentry/sentry/src/Logger/DebugLogger.php' 592 ), 573 593 'Sentry\\Logger\\DebugStdOutLogger' => array( 574 'version' => '4.1 1.1.0',594 'version' => '4.12.0.0', 575 595 'path' => $vendorDir . '/sentry/sentry/src/Logger/DebugStdOutLogger.php' 576 596 ), 597 'Sentry\\Logs\\Log' => array( 598 'version' => '4.12.0.0', 599 'path' => $vendorDir . '/sentry/sentry/src/Logs/Log.php' 600 ), 601 'Sentry\\Logs\\LogLevel' => array( 602 'version' => '4.12.0.0', 603 'path' => $vendorDir . '/sentry/sentry/src/Logs/LogLevel.php' 604 ), 605 'Sentry\\Logs\\Logs' => array( 606 'version' => '4.12.0.0', 607 'path' => $vendorDir . '/sentry/sentry/src/Logs/Logs.php' 608 ), 609 'Sentry\\Logs\\LogsAggregator' => array( 610 'version' => '4.12.0.0', 611 'path' => $vendorDir . '/sentry/sentry/src/Logs/LogsAggregator.php' 612 ), 577 613 'Sentry\\Metrics\\Metrics' => array( 578 'version' => '4.1 1.1.0',614 'version' => '4.12.0.0', 579 615 'path' => $vendorDir . '/sentry/sentry/src/Metrics/Metrics.php' 580 616 ), 581 617 'Sentry\\Metrics\\MetricsUnit' => array( 582 'version' => '4.1 1.1.0',618 'version' => '4.12.0.0', 583 619 'path' => $vendorDir . '/sentry/sentry/src/Metrics/MetricsUnit.php' 584 620 ), 585 621 'Sentry\\MonitorConfig' => array( 586 'version' => '4.1 1.1.0',622 'version' => '4.12.0.0', 587 623 'path' => $vendorDir . '/sentry/sentry/src/MonitorConfig.php' 588 624 ), 589 625 'Sentry\\MonitorSchedule' => array( 590 'version' => '4.1 1.1.0',626 'version' => '4.12.0.0', 591 627 'path' => $vendorDir . '/sentry/sentry/src/MonitorSchedule.php' 592 628 ), 593 629 'Sentry\\MonitorScheduleUnit' => array( 594 'version' => '4.1 1.1.0',630 'version' => '4.12.0.0', 595 631 'path' => $vendorDir . '/sentry/sentry/src/MonitorScheduleUnit.php' 596 632 ), 597 633 'Sentry\\Monolog\\BreadcrumbHandler' => array( 598 'version' => '4.1 1.1.0',634 'version' => '4.12.0.0', 599 635 'path' => $vendorDir . '/sentry/sentry/src/Monolog/BreadcrumbHandler.php' 600 636 ), 601 637 'Sentry\\Monolog\\CompatibilityProcessingHandlerTrait' => array( 602 'version' => '4.1 1.1.0',638 'version' => '4.12.0.0', 603 639 'path' => $vendorDir . '/sentry/sentry/src/Monolog/CompatibilityProcessingHandlerTrait.php' 604 640 ), 605 641 'Sentry\\Monolog\\Handler' => array( 606 'version' => '4.1 1.1.0',642 'version' => '4.12.0.0', 607 643 'path' => $vendorDir . '/sentry/sentry/src/Monolog/Handler.php' 608 644 ), 609 645 'Sentry\\Options' => array( 610 'version' => '4.1 1.1.0',646 'version' => '4.12.0.0', 611 647 'path' => $vendorDir . '/sentry/sentry/src/Options.php' 612 648 ), 613 649 'Sentry\\Profiling\\Profile' => array( 614 'version' => '4.1 1.1.0',650 'version' => '4.12.0.0', 615 651 'path' => $vendorDir . '/sentry/sentry/src/Profiling/Profile.php' 616 652 ), 617 653 'Sentry\\Profiling\\Profiler' => array( 618 'version' => '4.1 1.1.0',654 'version' => '4.12.0.0', 619 655 'path' => $vendorDir . '/sentry/sentry/src/Profiling/Profiler.php' 620 656 ), 621 657 'Sentry\\SentrySdk' => array( 622 'version' => '4.1 1.1.0',658 'version' => '4.12.0.0', 623 659 'path' => $vendorDir . '/sentry/sentry/src/SentrySdk.php' 624 660 ), 625 661 'Sentry\\Serializer\\AbstractSerializer' => array( 626 'version' => '4.1 1.1.0',662 'version' => '4.12.0.0', 627 663 'path' => $vendorDir . '/sentry/sentry/src/Serializer/AbstractSerializer.php' 628 664 ), 629 665 'Sentry\\Serializer\\EnvelopItems\\CheckInItem' => array( 630 'version' => '4.1 1.1.0',666 'version' => '4.12.0.0', 631 667 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/CheckInItem.php' 632 668 ), 633 669 'Sentry\\Serializer\\EnvelopItems\\EnvelopeItemInterface' => array( 634 'version' => '4.1 1.1.0',670 'version' => '4.12.0.0', 635 671 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/EnvelopeItemInterface.php' 636 672 ), 637 673 'Sentry\\Serializer\\EnvelopItems\\EventItem' => array( 638 'version' => '4.1 1.1.0',674 'version' => '4.12.0.0', 639 675 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/EventItem.php' 640 676 ), 677 'Sentry\\Serializer\\EnvelopItems\\LogsItem' => array( 678 'version' => '4.12.0.0', 679 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/LogsItem.php' 680 ), 641 681 'Sentry\\Serializer\\EnvelopItems\\ProfileItem' => array( 642 'version' => '4.1 1.1.0',682 'version' => '4.12.0.0', 643 683 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/ProfileItem.php' 644 684 ), 645 685 'Sentry\\Serializer\\EnvelopItems\\TransactionItem' => array( 646 'version' => '4.1 1.1.0',686 'version' => '4.12.0.0', 647 687 'path' => $vendorDir . '/sentry/sentry/src/Serializer/EnvelopItems/TransactionItem.php' 648 688 ), 649 689 'Sentry\\Serializer\\PayloadSerializer' => array( 650 'version' => '4.1 1.1.0',690 'version' => '4.12.0.0', 651 691 'path' => $vendorDir . '/sentry/sentry/src/Serializer/PayloadSerializer.php' 652 692 ), 653 693 'Sentry\\Serializer\\PayloadSerializerInterface' => array( 654 'version' => '4.1 1.1.0',694 'version' => '4.12.0.0', 655 695 'path' => $vendorDir . '/sentry/sentry/src/Serializer/PayloadSerializerInterface.php' 656 696 ), 657 697 'Sentry\\Serializer\\RepresentationSerializer' => array( 658 'version' => '4.1 1.1.0',698 'version' => '4.12.0.0', 659 699 'path' => $vendorDir . '/sentry/sentry/src/Serializer/RepresentationSerializer.php' 660 700 ), 661 701 'Sentry\\Serializer\\RepresentationSerializerInterface' => array( 662 'version' => '4.1 1.1.0',702 'version' => '4.12.0.0', 663 703 'path' => $vendorDir . '/sentry/sentry/src/Serializer/RepresentationSerializerInterface.php' 664 704 ), 665 705 'Sentry\\Serializer\\SerializableInterface' => array( 666 'version' => '4.1 1.1.0',706 'version' => '4.12.0.0', 667 707 'path' => $vendorDir . '/sentry/sentry/src/Serializer/SerializableInterface.php' 668 708 ), 669 709 'Sentry\\Serializer\\Serializer' => array( 670 'version' => '4.1 1.1.0',710 'version' => '4.12.0.0', 671 711 'path' => $vendorDir . '/sentry/sentry/src/Serializer/Serializer.php' 672 712 ), 673 713 'Sentry\\Serializer\\SerializerInterface' => array( 674 'version' => '4.1 1.1.0',714 'version' => '4.12.0.0', 675 715 'path' => $vendorDir . '/sentry/sentry/src/Serializer/SerializerInterface.php' 676 716 ), 677 717 'Sentry\\Serializer\\Traits\\BreadcrumbSeralizerTrait' => array( 678 'version' => '4.1 1.1.0',718 'version' => '4.12.0.0', 679 719 'path' => $vendorDir . '/sentry/sentry/src/Serializer/Traits/BreadcrumbSeralizerTrait.php' 680 720 ), 681 721 'Sentry\\Serializer\\Traits\\StacktraceFrameSeralizerTrait' => array( 682 'version' => '4.1 1.1.0',722 'version' => '4.12.0.0', 683 723 'path' => $vendorDir . '/sentry/sentry/src/Serializer/Traits/StacktraceFrameSeralizerTrait.php' 684 724 ), 685 725 'Sentry\\Severity' => array( 686 'version' => '4.1 1.1.0',726 'version' => '4.12.0.0', 687 727 'path' => $vendorDir . '/sentry/sentry/src/Severity.php' 688 728 ), 689 729 'Sentry\\Spotlight\\SpotlightClient' => array( 690 'version' => '4.1 1.1.0',730 'version' => '4.12.0.0', 691 731 'path' => $vendorDir . '/sentry/sentry/src/Spotlight/SpotlightClient.php' 692 732 ), 693 733 'Sentry\\Stacktrace' => array( 694 'version' => '4.1 1.1.0',734 'version' => '4.12.0.0', 695 735 'path' => $vendorDir . '/sentry/sentry/src/Stacktrace.php' 696 736 ), 697 737 'Sentry\\StacktraceBuilder' => array( 698 'version' => '4.1 1.1.0',738 'version' => '4.12.0.0', 699 739 'path' => $vendorDir . '/sentry/sentry/src/StacktraceBuilder.php' 700 740 ), 701 741 'Sentry\\State\\Hub' => array( 702 'version' => '4.1 1.1.0',742 'version' => '4.12.0.0', 703 743 'path' => $vendorDir . '/sentry/sentry/src/State/Hub.php' 704 744 ), 705 745 'Sentry\\State\\HubAdapter' => array( 706 'version' => '4.1 1.1.0',746 'version' => '4.12.0.0', 707 747 'path' => $vendorDir . '/sentry/sentry/src/State/HubAdapter.php' 708 748 ), 709 749 'Sentry\\State\\HubInterface' => array( 710 'version' => '4.1 1.1.0',750 'version' => '4.12.0.0', 711 751 'path' => $vendorDir . '/sentry/sentry/src/State/HubInterface.php' 712 752 ), 713 753 'Sentry\\State\\Layer' => array( 714 'version' => '4.1 1.1.0',754 'version' => '4.12.0.0', 715 755 'path' => $vendorDir . '/sentry/sentry/src/State/Layer.php' 716 756 ), 717 757 'Sentry\\State\\Scope' => array( 718 'version' => '4.1 1.1.0',758 'version' => '4.12.0.0', 719 759 'path' => $vendorDir . '/sentry/sentry/src/State/Scope.php' 720 760 ), 721 761 'Sentry\\Tracing\\DynamicSamplingContext' => array( 722 'version' => '4.1 1.1.0',762 'version' => '4.12.0.0', 723 763 'path' => $vendorDir . '/sentry/sentry/src/Tracing/DynamicSamplingContext.php' 724 764 ), 725 765 'Sentry\\Tracing\\GuzzleTracingMiddleware' => array( 726 'version' => '4.1 1.1.0',766 'version' => '4.12.0.0', 727 767 'path' => $vendorDir . '/sentry/sentry/src/Tracing/GuzzleTracingMiddleware.php' 728 768 ), 729 769 'Sentry\\Tracing\\PropagationContext' => array( 730 'version' => '4.1 1.1.0',770 'version' => '4.12.0.0', 731 771 'path' => $vendorDir . '/sentry/sentry/src/Tracing/PropagationContext.php' 732 772 ), 733 773 'Sentry\\Tracing\\SamplingContext' => array( 734 'version' => '4.1 1.1.0',774 'version' => '4.12.0.0', 735 775 'path' => $vendorDir . '/sentry/sentry/src/Tracing/SamplingContext.php' 736 776 ), 737 777 'Sentry\\Tracing\\Span' => array( 738 'version' => '4.1 1.1.0',778 'version' => '4.12.0.0', 739 779 'path' => $vendorDir . '/sentry/sentry/src/Tracing/Span.php' 740 780 ), 741 781 'Sentry\\Tracing\\SpanContext' => array( 742 'version' => '4.1 1.1.0',782 'version' => '4.12.0.0', 743 783 'path' => $vendorDir . '/sentry/sentry/src/Tracing/SpanContext.php' 744 784 ), 745 785 'Sentry\\Tracing\\SpanId' => array( 746 'version' => '4.1 1.1.0',786 'version' => '4.12.0.0', 747 787 'path' => $vendorDir . '/sentry/sentry/src/Tracing/SpanId.php' 748 788 ), 749 789 'Sentry\\Tracing\\SpanRecorder' => array( 750 'version' => '4.1 1.1.0',790 'version' => '4.12.0.0', 751 791 'path' => $vendorDir . '/sentry/sentry/src/Tracing/SpanRecorder.php' 752 792 ), 753 793 'Sentry\\Tracing\\SpanStatus' => array( 754 'version' => '4.1 1.1.0',794 'version' => '4.12.0.0', 755 795 'path' => $vendorDir . '/sentry/sentry/src/Tracing/SpanStatus.php' 756 796 ), 757 797 'Sentry\\Tracing\\TraceId' => array( 758 'version' => '4.1 1.1.0',798 'version' => '4.12.0.0', 759 799 'path' => $vendorDir . '/sentry/sentry/src/Tracing/TraceId.php' 760 800 ), 761 801 'Sentry\\Tracing\\Transaction' => array( 762 'version' => '4.1 1.1.0',802 'version' => '4.12.0.0', 763 803 'path' => $vendorDir . '/sentry/sentry/src/Tracing/Transaction.php' 764 804 ), 765 805 'Sentry\\Tracing\\TransactionContext' => array( 766 'version' => '4.1 1.1.0',806 'version' => '4.12.0.0', 767 807 'path' => $vendorDir . '/sentry/sentry/src/Tracing/TransactionContext.php' 768 808 ), 769 809 'Sentry\\Tracing\\TransactionMetadata' => array( 770 'version' => '4.1 1.1.0',810 'version' => '4.12.0.0', 771 811 'path' => $vendorDir . '/sentry/sentry/src/Tracing/TransactionMetadata.php' 772 812 ), 773 813 'Sentry\\Tracing\\TransactionSource' => array( 774 'version' => '4.1 1.1.0',814 'version' => '4.12.0.0', 775 815 'path' => $vendorDir . '/sentry/sentry/src/Tracing/TransactionSource.php' 776 816 ), 777 817 'Sentry\\Transport\\HttpTransport' => array( 778 'version' => '4.1 1.1.0',818 'version' => '4.12.0.0', 779 819 'path' => $vendorDir . '/sentry/sentry/src/Transport/HttpTransport.php' 780 820 ), 781 821 'Sentry\\Transport\\RateLimiter' => array( 782 'version' => '4.1 1.1.0',822 'version' => '4.12.0.0', 783 823 'path' => $vendorDir . '/sentry/sentry/src/Transport/RateLimiter.php' 784 824 ), 785 825 'Sentry\\Transport\\Result' => array( 786 'version' => '4.1 1.1.0',826 'version' => '4.12.0.0', 787 827 'path' => $vendorDir . '/sentry/sentry/src/Transport/Result.php' 788 828 ), 789 829 'Sentry\\Transport\\ResultStatus' => array( 790 'version' => '4.1 1.1.0',830 'version' => '4.12.0.0', 791 831 'path' => $vendorDir . '/sentry/sentry/src/Transport/ResultStatus.php' 792 832 ), 793 833 'Sentry\\Transport\\TransportInterface' => array( 794 'version' => '4.1 1.1.0',834 'version' => '4.12.0.0', 795 835 'path' => $vendorDir . '/sentry/sentry/src/Transport/TransportInterface.php' 796 836 ), 797 837 'Sentry\\UserDataBag' => array( 798 'version' => '4.1 1.1.0',838 'version' => '4.12.0.0', 799 839 'path' => $vendorDir . '/sentry/sentry/src/UserDataBag.php' 800 840 ), 841 'Sentry\\Util\\Arr' => array( 842 'version' => '4.12.0.0', 843 'path' => $vendorDir . '/sentry/sentry/src/Util/Arr.php' 844 ), 801 845 'Sentry\\Util\\Http' => array( 802 'version' => '4.1 1.1.0',846 'version' => '4.12.0.0', 803 847 'path' => $vendorDir . '/sentry/sentry/src/Util/Http.php' 804 848 ), 805 849 'Sentry\\Util\\JSON' => array( 806 'version' => '4.1 1.1.0',850 'version' => '4.12.0.0', 807 851 'path' => $vendorDir . '/sentry/sentry/src/Util/JSON.php' 808 852 ), 809 853 'Sentry\\Util\\PHPConfiguration' => array( 810 'version' => '4.1 1.1.0',854 'version' => '4.12.0.0', 811 855 'path' => $vendorDir . '/sentry/sentry/src/Util/PHPConfiguration.php' 812 856 ), 813 857 'Sentry\\Util\\PHPVersion' => array( 814 'version' => '4.1 1.1.0',858 'version' => '4.12.0.0', 815 859 'path' => $vendorDir . '/sentry/sentry/src/Util/PHPVersion.php' 816 860 ), 817 861 'Sentry\\Util\\PrefixStripper' => array( 818 'version' => '4.1 1.1.0',862 'version' => '4.12.0.0', 819 863 'path' => $vendorDir . '/sentry/sentry/src/Util/PrefixStripper.php' 820 864 ), 821 865 'Sentry\\Util\\SentryUid' => array( 822 'version' => '4.1 1.1.0',866 'version' => '4.12.0.0', 823 867 'path' => $vendorDir . '/sentry/sentry/src/Util/SentryUid.php' 824 868 ), -
pay-with-flex/trunk/vendor/composer/jetpack_autoload_filemap.php
r3301881 r3308128 16 16 ), 17 17 'fb4ca2d97fe7ba6af750497425204e70' => array( 18 'version' => '4.1 1.1.0',18 'version' => '4.12.0.0', 19 19 'path' => $vendorDir . '/sentry/sentry/src/functions.php' 20 20 ), -
pay-with-flex/trunk/vendor/sentry/sentry/CHANGELOG.md
r3299085 r3308128 1 1 # CHANGELOG 2 3 ## 4.12.0 4 5 The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.12.0. 6 7 ### Features 8 9 - Add support for Sentry Structured Logs [(#1813)](https://github.com/getsentry/sentry-php/pull/1813) 10 11 You can now send logs directly to Sentry using the new logging API: 12 13 ```php 14 Sentry\init([ 15 // Enable logs to be sent to Sentry 16 'enable_logs' => true, 17 ]); 18 ``` 19 20 ```php 21 use function Sentry\logger; 22 23 // Log messages at different levels 24 logger()->info('User logged in', ['user_id' => 123]); 25 logger()->warn('Deprecated function used', ['function' => 'old_function']); 26 logger()->error('Database connection failed', ['host' => 'db.example.com']); 27 logger()->fatal('Critical system failure: %s', ['Out of memory'], ['component' => 'database']); 28 29 // Flush logs to Sentry 30 logger()->flush(); 31 32 // We recommend registering the flushing in a shutdown function 33 register_shutdown_function(static fn () => logger()->flush()); 34 ``` 35 36 To learn more, head over to our [docs](https://docs.sentry.io/platforms/php/logs/). 37 38 ### Bug Fixes 39 40 - Log correct source of sampling decision [(#1836)](https://github.com/getsentry/sentry-php/pull/1836) 2 41 3 42 ## 4.11.1 -
pay-with-flex/trunk/vendor/sentry/sentry/UPGRADE-4.0.md
r3299085 r3308128 59 59 - Removed `Dsn::getSecretKey()`. 60 60 - Removed `Dsn::setSecretKey()`. 61 - Removed `Dsn::getStoreApiEndpointUrl()`. 61 62 - Removed `EventType::default()`. 62 63 - Removed adding the value of the `logger` option as a tag on the event. If you rely on this behaviour, add the tag manually. -
pay-with-flex/trunk/vendor/sentry/sentry/src/Client.php
r3299085 r3308128 33 33 * The version of the SDK. 34 34 */ 35 public const SDK_VERSION = '4.1 1.1';35 public const SDK_VERSION = '4.12.0'; 36 36 37 37 /** … … 256 256 } 257 257 258 public function getSdkIdentifier(): string 259 { 260 return $this->sdkIdentifier; 261 } 262 263 public function getSdkVersion(): string 264 { 265 return $this->sdkVersion; 266 } 267 258 268 /** 259 269 * Assembles an event and prepares it to be sent of to Sentry. … … 281 291 $event->setSdkIdentifier($this->sdkIdentifier); 282 292 $event->setSdkVersion($this->sdkVersion); 293 283 294 $event->setTags(array_merge($this->options->getTags(), $event->getTags())); 284 295 -
pay-with-flex/trunk/vendor/sentry/sentry/src/Dsn.php
r3299085 r3308128 14 14 { 15 15 /** 16 * @var string Regex to match the organization ID in the host. 17 * This only applies to Sentry SaaS DSNs that contain the organization ID. 18 */ 19 private const SENTRY_ORG_ID_REGEX = '/^o(\d+)\./'; 20 21 /** 16 22 * @var string The protocol to be used to access the resource 17 23 */ … … 42 48 */ 43 49 private $path; 50 51 /** 52 * @var int|null 53 */ 54 private $orgId; 44 55 45 56 /** … … 52 63 * @param string $path The specific resource that the web client wants to access 53 64 * @param string $publicKey The public key to authenticate the SDK 54 */ 55 private function __construct(string $scheme, string $host, int $port, string $projectId, string $path, string $publicKey) 65 * @param ?int $orgId The org ID 66 */ 67 private function __construct(string $scheme, string $host, int $port, string $projectId, string $path, string $publicKey, ?int $orgId = null) 56 68 { 57 69 $this->scheme = $scheme; 58 70 $this->host = $host; 59 71 $this->port = $port; 72 $this->projectId = $projectId; 73 $this->path = $path; 60 74 $this->publicKey = $publicKey; 61 $this->path = $path; 62 $this->projectId = $projectId; 75 $this->orgId = $orgId; 63 76 } 64 77 … … 93 106 if ($lastSlashPosition !== false) { 94 107 $path = substr($parsedDsn['path'], 0, $lastSlashPosition); 108 } 109 110 $orgId = null; 111 if (preg_match(self::SENTRY_ORG_ID_REGEX, $parsedDsn['host'], $matches) == 1) { 112 $orgId = (int) $matches[1]; 95 113 } 96 114 … … 101 119 $projectId, 102 120 $path, 103 $parsedDsn['user'] 121 $parsedDsn['user'], 122 $orgId 104 123 ); 105 124 } … … 151 170 { 152 171 return $this->publicKey; 172 } 173 174 public function getOrgId(): ?int 175 { 176 return $this->orgId; 153 177 } 154 178 -
pay-with-flex/trunk/vendor/sentry/sentry/src/Event.php
r3299085 r3308128 7 7 use Sentry\Context\OsContext; 8 8 use Sentry\Context\RuntimeContext; 9 use Sentry\Logs\Log; 9 10 use Sentry\Profiling\Profile; 10 11 use Sentry\Tracing\Span; … … 67 68 68 69 /** 70 * @var Log[] 71 */ 72 private $logs = []; 73 74 /** 69 75 * @var string|null The name of the server (e.g. the host name) 70 76 */ … … 231 237 } 232 238 239 public static function createLogs(?EventId $eventId = null): self 240 { 241 return new self($eventId, EventType::logs()); 242 } 243 233 244 /** 234 245 * @deprecated Metrics are no longer supported. Metrics API is a no-op and will be removed in 5.x. … … 418 429 419 430 /** 431 * @return Log[] 432 */ 433 public function getLogs(): array 434 { 435 return $this->logs; 436 } 437 438 /** 439 * @param Log[] $logs 440 */ 441 public function setLogs(array $logs): self 442 { 443 $this->logs = $logs; 444 445 return $this; 446 } 447 448 /** 420 449 * @deprecated Metrics are no longer supported. Metrics API is a no-op and will be removed in 5.x. 421 450 */ -
pay-with-flex/trunk/vendor/sentry/sentry/src/EventType.php
r3299085 r3308128 43 43 } 44 44 45 public static function logs(): self 46 { 47 return self::getInstance('log'); 48 } 49 45 50 /** 46 51 * @deprecated Metrics are no longer supported. Metrics API is a no-op and will be removed in 5.x. … … 62 67 self::transaction(), 63 68 self::checkIn(), 69 self::logs(), 64 70 self::metrics(), 65 71 ]; -
pay-with-flex/trunk/vendor/sentry/sentry/src/Logger/DebugFileLogger.php
r3299085 r3308128 5 5 namespace Sentry\Logger; 6 6 7 use Psr\Log\AbstractLogger; 8 9 class DebugFileLogger extends AbstractLogger 7 class DebugFileLogger extends DebugLogger 10 8 { 11 9 /** … … 19 17 } 20 18 21 /** 22 * @param mixed $level 23 * @param string|\Stringable $message 24 * @param mixed[] $context 25 */ 26 public function log($level, $message, array $context = []): void 19 public function write(string $message): void 27 20 { 28 file_put_contents($this->filePath, \sprintf("sentry/sentry: [%s] %s\n", $level, (string) $message), \FILE_APPEND);21 file_put_contents($this->filePath, $message, \FILE_APPEND); 29 22 } 30 23 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Logger/DebugStdOutLogger.php
r3299085 r3308128 5 5 namespace Sentry\Logger; 6 6 7 use Psr\Log\AbstractLogger; 8 9 class DebugStdOutLogger extends AbstractLogger 7 class DebugStdOutLogger extends DebugLogger 10 8 { 11 /** 12 * @param mixed $level 13 * @param string|\Stringable $message 14 * @param mixed[] $context 15 */ 16 public function log($level, $message, array $context = []): void 9 public function write(string $message): void 17 10 { 18 file_put_contents('php://stdout', \sprintf("sentry/sentry: [%s] %s\n", $level, (string) $message));11 file_put_contents('php://stdout', $message); 19 12 } 20 13 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Options.php
r3299085 r3308128 10 10 use Sentry\Integration\ErrorListenerIntegration; 11 11 use Sentry\Integration\IntegrationInterface; 12 use Sentry\Logs\Log; 12 13 use Sentry\Transport\TransportInterface; 13 14 use Symfony\Component\OptionsResolver\Options as SymfonyOptions; … … 438 439 439 440 /** 441 * Gets the Org ID. 442 */ 443 public function getOrgId(): ?int 444 { 445 return $this->options['org_id']; 446 } 447 448 /** 449 * Sets the Org ID. 450 */ 451 public function setOrgId(int $orgId): self 452 { 453 $options = array_merge($this->options, ['org_id' => $orgId]); 454 455 $this->options = $this->resolver->resolve($options); 456 457 return $this; 458 } 459 460 /** 440 461 * Gets the name of the server the SDK is running on (e.g. the hostname). 441 462 */ … … 643 664 { 644 665 $options = array_merge($this->options, ['trace_propagation_targets' => $tracePropagationTargets]); 666 667 $this->options = $this->resolver->resolve($options); 668 669 return $this; 670 } 671 672 /** 673 * Returns whether strict trace propagation is enabled or not. 674 */ 675 public function isStrictTracePropagationEnabled(): bool 676 { 677 return $this->options['strict_trace_propagation']; 678 } 679 680 /** 681 * Sets if strict trace propagation should be enabled or not. 682 */ 683 public function enableStrictTracePropagation(bool $strictTracePropagation): self 684 { 685 $options = array_merge($this->options, ['strict_trace_propagation' => $strictTracePropagation]); 645 686 646 687 $this->options = $this->resolver->resolve($options); … … 1111 1152 1112 1153 return $this; 1154 } 1155 1156 /** 1157 * Sets if logs should be enabled or not. 1158 * 1159 * @param bool|null $enableLogs Boolean if logs should be enabled or not 1160 */ 1161 public function setEnableLogs(?bool $enableLogs): self 1162 { 1163 $options = array_merge($this->options, ['enable_tracing' => $enableLogs]); 1164 1165 $this->options = $this->resolver->resolve($options); 1166 1167 return $this; 1168 } 1169 1170 /** 1171 * Gets if logs is enabled or not. 1172 */ 1173 public function getEnableLogs(): bool 1174 { 1175 return $this->options['enable_logs'] ?? false; 1176 } 1177 1178 /** 1179 * Gets a callback that will be invoked before an log is sent to the server. 1180 * If `null` is returned it won't be sent. 1181 * 1182 * @psalm-return callable(Log): ?Log 1183 */ 1184 public function getBeforeSendLogCallback(): callable 1185 { 1186 return $this->options['before_send_log']; 1113 1187 } 1114 1188 … … 1147 1221 'release' => $_SERVER['SENTRY_RELEASE'] ?? $_SERVER['AWS_LAMBDA_FUNCTION_VERSION'] ?? null, 1148 1222 'dsn' => $_SERVER['SENTRY_DSN'] ?? null, 1223 'org_id' => null, 1149 1224 'server_name' => gethostname(), 1150 1225 'ignore_exceptions' => [], … … 1166 1241 }, 1167 1242 'trace_propagation_targets' => null, 1243 'strict_trace_propagation' => false, 1168 1244 'tags' => [], 1169 1245 'error_types' => null, … … 1188 1264 'max_request_body_size' => 'medium', 1189 1265 'class_serializers' => [], 1266 'enable_logs' => false, 1267 'before_send_log' => static function (Log $log): Log { 1268 return $log; 1269 }, 1190 1270 ]); 1191 1271 … … 1207 1287 $resolver->setAllowedTypes('release', ['null', 'string']); 1208 1288 $resolver->setAllowedTypes('dsn', ['null', 'string', 'bool', Dsn::class]); 1289 $resolver->setAllowedTypes('org_id', ['null', 'int']); 1209 1290 $resolver->setAllowedTypes('server_name', 'string'); 1210 1291 $resolver->setAllowedTypes('before_send', ['callable']); … … 1213 1294 $resolver->setAllowedTypes('ignore_transactions', 'string[]'); 1214 1295 $resolver->setAllowedTypes('trace_propagation_targets', ['null', 'string[]']); 1296 $resolver->setAllowedTypes('strict_trace_propagation', 'bool'); 1215 1297 $resolver->setAllowedTypes('tags', 'string[]'); 1216 1298 $resolver->setAllowedTypes('error_types', ['null', 'int']); … … 1232 1314 $resolver->setAllowedTypes('max_request_body_size', 'string'); 1233 1315 $resolver->setAllowedTypes('class_serializers', 'array'); 1316 $resolver->setAllowedTypes('enable_logs', 'bool'); 1317 $resolver->setAllowedTypes('before_send_log', 'callable'); 1234 1318 1235 1319 $resolver->setAllowedValues('max_request_body_size', ['none', 'never', 'small', 'medium', 'always']); -
pay-with-flex/trunk/vendor/sentry/sentry/src/Serializer/AbstractSerializer.php
r3299085 r3308128 213 213 * Serializes the given value to a string. 214 214 * 215 * @param mixed $value The value to serialize 216 */ 217 protected function serializeString($value): string 218 { 219 $value = (string) $value; 220 215 * @param string $value The value to serialize 216 */ 217 protected function serializeString(string $value): string 218 { 221 219 // we always guarantee this is coerced, even if we can't detect encoding 222 220 if ($currentEncoding = mb_detect_encoding($value, $this->mbDetectOrder)) { 223 $ value = mb_convert_encoding($value, 'UTF-8', $currentEncoding);221 $encoded = mb_convert_encoding($value, 'UTF-8', $currentEncoding) ?: '<encoding error>'; 224 222 } else { 225 $ value = mb_convert_encoding($value, 'UTF-8');226 } 227 228 if (mb_strlen($ value) > $this->options->getMaxValueLength()) {229 $ value = mb_substr($value, 0, $this->options->getMaxValueLength() - 10, 'UTF-8') . ' {clipped}';230 } 231 232 return $ value;223 $encoded = mb_convert_encoding($value, 'UTF-8') ?: '<encoding error>'; 224 } 225 226 if (mb_strlen($encoded) > $this->options->getMaxValueLength()) { 227 $encoded = mb_substr($encoded, 0, $this->options->getMaxValueLength() - 10, 'UTF-8') . ' {clipped}'; 228 } 229 230 return $encoded; 233 231 } 234 232 … … 277 275 } 278 276 279 return $this->serializeString($value); 277 if (\is_string($value) || (\is_object($value) && method_exists($value, '__toString'))) { 278 return $this->serializeString((string) $value); 279 } 280 281 return null; 280 282 } 281 283 -
pay-with-flex/trunk/vendor/sentry/sentry/src/Serializer/EnvelopItems/EnvelopeItemInterface.php
r3299085 r3308128 12 12 interface EnvelopeItemInterface 13 13 { 14 public static function toEnvelopeItem(Event $event): string;14 public static function toEnvelopeItem(Event $event): ?string; 15 15 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Serializer/EnvelopItems/ProfileItem.php
r3299085 r3308128 14 14 class ProfileItem implements EnvelopeItemInterface 15 15 { 16 public static function toEnvelopeItem(Event $event): string16 public static function toEnvelopeItem(Event $event): ?string 17 17 { 18 18 $header = [ … … 23 23 $profile = $event->getSdkMetadata('profile'); 24 24 if (!$profile instanceof Profile) { 25 return '';25 return null; 26 26 } 27 27 28 28 $payload = $profile->getFormattedData($event); 29 29 if ($payload === null) { 30 return '';30 return null; 31 31 } 32 32 -
pay-with-flex/trunk/vendor/sentry/sentry/src/Serializer/EnvelopItems/TransactionItem.php
r3299085 r3308128 6 6 7 7 use Sentry\Event; 8 use Sentry\EventType; 8 9 use Sentry\Serializer\Traits\BreadcrumbSeralizerTrait; 9 10 use Sentry\Tracing\Span; … … 29 30 { 30 31 $header = [ 31 'type' => (string) $event->getType(),32 'type' => (string) EventType::transaction(), 32 33 'content_type' => 'application/json', 33 34 ]; -
pay-with-flex/trunk/vendor/sentry/sentry/src/Serializer/PayloadSerializer.php
r3299085 r3308128 10 10 use Sentry\Serializer\EnvelopItems\CheckInItem; 11 11 use Sentry\Serializer\EnvelopItems\EventItem; 12 use Sentry\Serializer\EnvelopItems\LogsItem; 12 13 use Sentry\Serializer\EnvelopItems\ProfileItem; 13 14 use Sentry\Serializer\EnvelopItems\TransactionItem; … … 55 56 } 56 57 57 $items = '';58 $items = []; 58 59 59 60 switch ($event->getType()) { 60 61 case EventType::event(): 61 $items = EventItem::toEnvelopeItem($event);62 $items[] = EventItem::toEnvelopeItem($event); 62 63 break; 63 64 case EventType::transaction(): 64 $ transactionItem= TransactionItem::toEnvelopeItem($event);65 $items[] = TransactionItem::toEnvelopeItem($event); 65 66 if ($event->getSdkMetadata('profile') !== null) { 66 $profileItem = ProfileItem::toEnvelopeItem($event); 67 if ($profileItem !== '') { 68 $items = \sprintf("%s\n%s", $transactionItem, $profileItem); 69 break; 70 } 67 $items[] = ProfileItem::toEnvelopeItem($event); 71 68 } 72 $items = $transactionItem;73 69 break; 74 70 case EventType::checkIn(): 75 $items = CheckInItem::toEnvelopeItem($event); 71 $items[] = CheckInItem::toEnvelopeItem($event); 72 break; 73 case EventType::logs(): 74 $items[] = LogsItem::toEnvelopeItem($event); 76 75 break; 77 76 } 78 77 79 return \sprintf("%s\n%s", JSON::encode($envelopeHeader), $items);78 return \sprintf("%s\n%s", JSON::encode($envelopeHeader), implode("\n", array_filter($items))); 80 79 } 81 80 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/State/Hub.php
r3299085 r3308128 289 289 $options->getTracesSampleRate() ?? 0 290 290 ); 291 $sampleSource = $samplingContext->getParentSampled() ? 'parent:sampling_decision' : 'config:traces_sample_rate';291 $sampleSource = $samplingContext->getParentSampled() !== null ? 'parent:sampling_decision' : 'config:traces_sample_rate'; 292 292 } 293 293 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Tracing/DynamicSamplingContext.php
r3299085 r3308128 173 173 $samplingContext->set('public_key', $options->getDsn()->getPublicKey()); 174 174 } 175 if ($options->getDsn() !== null && $options->getDsn()->getOrgId() !== null) { 176 $samplingContext->set('org_id', (string) $options->getDsn()->getOrgId()); 177 } 175 178 176 179 if ($options->getRelease() !== null) { … … 210 213 } 211 214 215 if ($options->getDsn() !== null && $options->getDsn()->getOrgId() !== null) { 216 $samplingContext->set('org_id', (string) $options->getDsn()->getOrgId()); 217 } 218 212 219 if ($options->getRelease() !== null) { 213 220 $samplingContext->set('release', $options->getRelease()); -
pay-with-flex/trunk/vendor/sentry/sentry/src/Tracing/GuzzleTracingMiddleware.php
r3299085 r3308128 16 16 use function Sentry\getBaggage; 17 17 use function Sentry\getTraceparent; 18 use function Sentry\getW3CTraceparent;19 18 20 19 /** … … 67 66 $request = $request 68 67 ->withHeader('sentry-trace', getTraceparent()) 69 ->withHeader('traceparent', getW3CTraceparent())70 68 ->withHeader('baggage', getBaggage()); 71 69 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Tracing/PropagationContext.php
r3299085 r3308128 11 11 { 12 12 private const SENTRY_TRACEPARENT_HEADER_REGEX = '/^[ \\t]*(?<trace_id>[0-9a-f]{32})?-?(?<span_id>[0-9a-f]{16})?-?(?<sampled>[01])?[ \\t]*$/i'; 13 14 private const W3C_TRACEPARENT_HEADER_REGEX = '/^[ \\t]*(?<version>[0]{2})?-?(?<trace_id>[0-9a-f]{32})?-?(?<span_id>[0-9a-f]{16})?-?(?<sampled>[01]{2})?[ \\t]*$/i';15 13 16 14 /** … … 82 80 /** 83 81 * Returns a string that can be used for the W3C `traceparent` header & meta tag. 82 * 83 * @deprecated since version 4.12. To be removed in version 5.0. 84 84 */ 85 85 public function toW3CTraceparent(): string 86 86 { 87 return \sprintf('00-%s-%s-00', (string) $this->traceId, (string) $this->spanId);87 return ''; 88 88 } 89 89 … … 203 203 if (isset($matches['sampled'])) { 204 204 $context->parentSampled = $matches['sampled'] === '1'; 205 $hasSentryTrace = true;206 }207 } elseif (preg_match(self::W3C_TRACEPARENT_HEADER_REGEX, $traceparent, $matches)) {208 if (!empty($matches['trace_id'])) {209 $context->traceId = new TraceId($matches['trace_id']);210 $hasSentryTrace = true;211 }212 213 if (!empty($matches['span_id'])) {214 $context->parentSpanId = new SpanId($matches['span_id']);215 $hasSentryTrace = true;216 }217 218 if (isset($matches['sampled'])) {219 $context->parentSampled = $matches['sampled'] === '01';220 205 $hasSentryTrace = true; 221 206 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Tracing/Span.php
r3299085 r3308128 566 566 /** 567 567 * Returns a string that can be used for the W3C `traceparent` header & meta tag. 568 * 569 * @deprecated since version 4.12. To be removed in version 5.0. 568 570 */ 569 571 public function toW3CTraceparent(): string 570 572 { 571 $sampled = ''; 572 573 if ($this->sampled !== null) { 574 $sampled = $this->sampled ? '01' : '00'; 575 } else { 576 // If no sampling decision was made, set the flag to 00 577 $sampled = '00'; 578 } 579 580 return \sprintf('00-%s-%s-%s', (string) $this->traceId, (string) $this->spanId, $sampled); 573 return ''; 581 574 } 582 575 -
pay-with-flex/trunk/vendor/sentry/sentry/src/Tracing/TransactionContext.php
r3299085 r3308128 8 8 { 9 9 private const SENTRY_TRACEPARENT_HEADER_REGEX = '/^[ \\t]*(?<trace_id>[0-9a-f]{32})?-?(?<span_id>[0-9a-f]{16})?-?(?<sampled>[01])?[ \\t]*$/i'; 10 11 private const W3C_TRACEPARENT_HEADER_REGEX = '/^[ \\t]*(?<version>[0]{2})?-?(?<trace_id>[0-9a-f]{32})?-?(?<span_id>[0-9a-f]{16})?-?(?<sampled>[01]{2})?[ \\t]*$/i';12 10 13 11 public const DEFAULT_NAME = '<unlabeled transaction>'; … … 165 163 if (isset($matches['sampled'])) { 166 164 $context->parentSampled = $matches['sampled'] === '1'; 167 $hasSentryTrace = true;168 }169 } elseif (preg_match(self::W3C_TRACEPARENT_HEADER_REGEX, $sentryTrace, $matches)) {170 if (!empty($matches['trace_id'])) {171 $context->traceId = new TraceId($matches['trace_id']);172 $hasSentryTrace = true;173 }174 175 if (!empty($matches['span_id'])) {176 $context->parentSpanId = new SpanId($matches['span_id']);177 $hasSentryTrace = true;178 }179 180 if (isset($matches['sampled'])) {181 $context->parentSampled = $matches['sampled'] === '01';182 165 $hasSentryTrace = true; 183 166 } -
pay-with-flex/trunk/vendor/sentry/sentry/src/Transport/RateLimiter.php
r3299085 r3308128 16 16 */ 17 17 private const DATA_CATEGORY_ERROR = 'error'; 18 19 /** 20 * @var string 21 */ 22 private const DATA_CATEGORY_LOG_ITEM = 'log_item'; 18 23 19 24 /** … … 113 118 if ($eventType === 'event') { 114 119 $eventType = self::DATA_CATEGORY_ERROR; 120 } elseif ($eventType === 'log') { 121 $eventType = self::DATA_CATEGORY_LOG_ITEM; 115 122 } 116 123 -
pay-with-flex/trunk/vendor/sentry/sentry/src/functions.php
r3299085 r3308128 8 8 use Sentry\HttpClient\HttpClientInterface; 9 9 use Sentry\Integration\IntegrationInterface; 10 use Sentry\Logs\Logs; 10 11 use Sentry\Metrics\Metrics; 11 12 use Sentry\State\Scope; … … 24 25 * before_send?: callable, 25 26 * before_send_check_in?: callable, 27 * before_send_log?: callable, 26 28 * before_send_transaction?: callable, 27 29 * capture_silenced_errors?: bool, … … 29 31 * default_integrations?: bool, 30 32 * dsn?: string|bool|null|Dsn, 33 * enable_logs?: bool, 31 34 * environment?: string|null, 32 35 * error_types?: int|null, … … 47 50 * max_request_body_size?: "none"|"never"|"small"|"medium"|"always", 48 51 * max_value_length?: int, 52 * org_id?: int|null, 49 53 * prefixes?: array<string>, 50 54 * profiles_sample_rate?: int|float|null, … … 57 61 * spotlight?: bool, 58 62 * spotlight_url?: string, 63 * strict_trace_propagation?: bool, 59 64 * tags?: array<string>, 60 65 * trace_propagation_targets?: array<string>|null, … … 306 311 * This function is context aware, as in it either returns the traceparent based 307 312 * on the current span, or the scope's propagation context. 313 * 314 * @deprecated since version 4.12. To be removed in version 5.0. 308 315 */ 309 316 function getW3CTraceparent(): string 310 317 { 311 $hub = SentrySdk::getCurrentHub(); 312 $client = $hub->getClient(); 313 314 if ($client !== null) { 315 $options = $client->getOptions(); 316 317 if ($options !== null && $options->isTracingEnabled()) { 318 $span = SentrySdk::getCurrentHub()->getSpan(); 319 if ($span !== null) { 320 return $span->toW3CTraceparent(); 321 } 322 } 323 } 324 325 $traceParent = ''; 326 $hub->configureScope(function (Scope $scope) use (&$traceParent) { 327 $traceParent = $scope->getPropagationContext()->toW3CTraceparent(); 328 }); 329 330 return $traceParent; 318 return ''; 331 319 } 332 320 … … 379 367 380 368 /** 369 * Get the Sentry Logs client. 370 */ 371 function logger(): Logs 372 { 373 return Logs::getInstance(); 374 } 375 376 /** 381 377 * @deprecated Metrics are no longer supported. Metrics API is a no-op and will be removed in 5.x. 382 378 */
Note: See TracChangeset
for help on using the changeset viewer.