CheckWebhookMiddleware.php 820 Bytes
Newer Older
王源's avatar
王源 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
<?php
/**
 * Created by PhpStorm.
 * User: Zero
 * Date: 2020/8/24
 * Time: 9:33
 */

namespace Meibuyu\Micro\Middleware;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;

class CheckWebhookMiddleware implements MiddlewareInterface
{

    /**
     * @inheritDoc
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $domain = $request->getHeader('x-shopify-shop-domain')[0] ?? null;
        $topic = $request->getHeader('x-shopify-topic')[0] ?? null;
        if ($domain && $topic) {
            return $handler->handle($request);
        } else {
            return response()->withStatus(500);
        }
    }

}