クラス
AmazonRedirectRouteGuards
ソース ソース
ファイル: src/Routing/AmazonRedirectRouteGuards.php
class AmazonRedirectRouteGuards
{
    /**
     * Amazon Pay module object
     *
     * @var AmazonPay
     */
    private $module;
    /**
     * Instantiates middleware
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @param AmazonPay $module
     */
    public function __construct(AmazonPay $module) {
        $this->module = $module;
    }
    /**
     * Exits to home page if `amazonCheckoutSessionId` isn't in `$_REQUEST`
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @return Closure&#Function#1f4ed14
     */
    public function sessionIdExistsOrExit() {
        return function () {
            if (!isset($_REQUEST['amazonCheckoutSessionId'])) {
                header('location: ' . get_option('home'));
                exit;
            } else {
                $sessionId = $_REQUEST['amazonCheckoutSessionId'];
                $result = (new CheckoutSession\Get($this->module))->get($sessionId);
                if ($result instanceof GenericError) {
                    header('location: ' . get_option('home'));
                    exit;
                }
            }
        };
    }
}
- __construct — Instantiates middleware
- sessionIdExistsOrExit — Exits to home page if `amazonCheckoutSessionId` isn't in `$_REQUEST`