Skip to content

Report reason message get truncated #237

@yllumi

Description

@yllumi

NOTE: Please test in a least two browsers (i.e. Chrome and Firefox). This
helps with diagnosing problems quicker.

Please confirm the following:

  • I have read the README entirely
  • I have verified in the issues that my problem hasn't already been resolved

Setup

  • Operating System: Linux Mint
  • PHP Version: 7.2
  • web-push-php Version: 5.2.4

Please check that you have installed and enabled these PHP extensions :

  • gmp
  • mbstring
  • curl
  • openssl

Please select any browsers that you are experiencing problems with:

  • Chrome
  • Firefox
  • Firefox for Mobile
  • Opera for Android
  • Samsung Internet Browser
  • Other

Problem

When I use the wrong subscription for sending web push, $report->getReason() were truncated, like this:

Client error: `POST https://fcm.googleapis.com/fcm/send/eWp764UJNBM:APA91bHJVQXmxU9-Yr5j1VjxAZcJBWlvGRCRZjU4H7Z5_glrAc1O6R7o4w-UzTFdalqXEYZHJgxMjTrbXCCkAtKmaFqi_UnZ7MdPrbGJvcUyGNVTpGbYBf8EazF1TBVa3yHS1k5wR3qc` resulted in a `403 Forbidden` response:\nthe key in the authorization header does not correspond to the sender ID used to subscribe this user. Please ensure you (truncated...)\n

Expected

The error message should not truncated.

Features Used

  • VAPID Support
  • GCM API Key
  • Sending with Payload

Example / Reproduce Case

Send notification with wrong subscription data with this format:

[
          'subscription' => Subscription::create([ // this is the structure for the working draft from october 2018 (https://www.w3.org/TR/2018/WD-push-api-20181026/) 
              "endpoint" => "https://example.com/other/endpoint/of/another/vendor/abcdef...",
              "keys" => [
                  'p256dh' => '(stringOf88Chars)',
                  'auth' => '(stringOf24Chars)'
              ],
          ]),
          'payload' => '{msg:"Hello World!"}',
      ],

but with wrong subscription. Program should showing error message that truncated.

Other

When I search from internet, message gets truncated because of calling $reason->getMessage() at WebPush class line 180. When I change it to $reason->getResponse()->getBody()->getContents() I get complete message but without mentioning endpoint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions