mvdnbrk / laravel-postmark-webhooks

Handle Postmark webhooks in a Laravel application.
MIT License
25 stars 11 forks source link

Undefined Array Key 1 #22

Open DevelopmentNightmare opened 1 year ago

DevelopmentNightmare commented 1 year ago

Whatever I try to do, I always get this error:

Ps. I'm using the Postmarkapp webhook test function.

[2023-08-14 06:44:15] staging.ERROR: Undefined array key 1 {"exception":"[object] (ErrorException(code: 0): Undefined array key 1 at /home/ploi//vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:436) [stacktrace]

0 /home/ploi//vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(436): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()

1 /home/ploi//vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(422): Illuminate\Events\Dispatcher->createClassCallable()

2 /home/ploi//vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(249): Illuminate\Events\Dispatcher->Illuminate\Events\{closure}()

3 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(450): Illuminate\Events\Dispatcher->dispatch()

4 /home/ploi//vendor/mvdnbrk/laravel-postmark-webhooks/src/Http/Controllers/StorePostmarkWebhookController.php(24): event()

5 /home/ploi//vendor/laravel/framework/src/Illuminate/Support/helpers.php(263): Mvdnbrk\PostmarkWebhooks\Http\Controllers\StorePostmarkWebhookController->Mvdnbrk\PostmarkWebhooks\Http\Controllers\{closure}()

6 /home/ploi//vendor/mvdnbrk/laravel-postmark-webhooks/src/Http/Controllers/StorePostmarkWebhookController.php(18): tap()

7 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Mvdnbrk\PostmarkWebhooks\Http\Controllers\StorePostmarkWebhookController->__invoke()

8 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction()

9 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Route.php(261): Illuminate\Routing\ControllerDispatcher->dispatch()

10 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()

11 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Route->run()

12 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{closure}()

13 /home/ploi//vendor/mvdnbrk/laravel-postmark-webhooks/src/Http/Middleware/PostmarkIpsWhitelist.php(34): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

14 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Mvdnbrk\PostmarkWebhooks\Http\Middleware\PostmarkIpsWhitelist->handle()

15 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

16 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Routing\Middleware\SubstituteBindings->handle()

17 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(127): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

18 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(93): Illuminate\Routing\Middleware\ThrottleRequests->handleRequest()

19 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(55): Illuminate\Routing\Middleware\ThrottleRequests->handleRequestUsingNamedLimiter()

20 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Routing\Middleware\ThrottleRequests->handle()

21 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

22 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Router.php(719): Illuminate\Pipeline\Pipeline->then()

23 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\Routing\Router->runRouteWithinStack()

24 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\Routing\Router->runRoute()

25 /home/ploi//vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\Routing\Router->dispatchToRoute()

26 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch()

27 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()

28 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

29 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

30 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()

31 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

32 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

33 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()

34 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

35 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()

36 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

37 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()

38 /home/ploi//vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

39 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\Cors\HandleCors->handle()

40 /home/ploi//vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

41 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Http\Middleware\TrustProxies->handle()

42 /home/ploi//vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

43 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then()

44 /home/ploi//vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()

45 /home/ploi//public/index.php(51): Illuminate\Foundation\Http\Kernel->handle()

46 {main}

"}

DevelopmentNightmare commented 1 year ago

//EventServiceProvider

protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], PostmarkWebhookCalled::class => [ 'webhook.postmark: delivery' => [delivery::class], ], ];

//Delivery

public function handle(PostmarkWebhookCalled $event) { Log::info("hello darkness my old friend"); }

And the config file:

`'path' => '/v1/api/webhooks/postmark',

/*
|--------------------------------------------------------------------------
| Log Options
|--------------------------------------------------------------------------
|
| Logging events to the database is enabled by default. You may set this
| to false if you don't want to log the Postmark events to the database.
|
| You may specify one or more event types to be excluded from being
| logged to the database. You can place them under the except key.
|
| Supported event types: "open", "bounce", "click",
| "delivery", "spam_complaint"
|
*/

'log' => [
    'enabled' => env('POSTMARK_WEBHOOKS_LOG_ENABLED', true),
    'model' => \Mvdnbrk\PostmarkWebhooks\PostmarkWebhook::class,
    'table_name' => 'postmark_webhook_logs',

    'except' => [
        //
    ],
],

/*
|--------------------------------------------------------------------------
| Event Mapping
|--------------------------------------------------------------------------
|
| This option allows you to map Postmark webhook
| events to your own object-based events.
|
*/

'events' => [

],`