HEX
Server: nginx/1.18.0
System: Linux iZj6c1ieg2jrpk1z5tzi19Z 6.3.9-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 21 22:18:40 EDT 2023 x86_64
User: www (1001)
PHP: 8.2.4
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.cytocare.cn/wp-content/plugins/mailpoet/lib/API/JSON/Endpoint.php
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing

namespace MailPoet\API\JSON;

if (!defined('ABSPATH')) exit;


use MailPoet\API\JSON\v1\RedirectResponse;
use MailPoet\Config\AccessControl;

abstract class Endpoint {
  const TYPE_POST = 'POST';
  const TYPE_GET = 'GET';

  public $permissions = [
    'global' => AccessControl::PERMISSION_MANAGE_SETTINGS,
    'methods' => [],
  ];

  protected static $getMethods = [];

  public function successResponse(
    $data = [], $meta = [], $status = Response::STATUS_OK
  ) {
    return new SuccessResponse($data, $meta, $status);
  }

  public function errorResponse(
    $errors = [], $meta = [], $status = Response::STATUS_NOT_FOUND
  ) {
    if (empty($errors)) {
      $errors = [
        Error::UNKNOWN => __('An unknown error occurred.', 'mailpoet'),
      ];
    }
    return new ErrorResponse($errors, $meta, $status);
  }

  public function badRequest($errors = [], $meta = []) {
    if (empty($errors)) {
      $errors = [
        Error::BAD_REQUEST => __('Invalid request parameters', 'mailpoet'),
      ];
    }
    return new ErrorResponse($errors, $meta, Response::STATUS_BAD_REQUEST);
  }

  public function redirectResponse($url) {
    return new RedirectResponse($url);
  }

  public function isMethodAllowed($name, $type) {
    // Block GET requests on POST endpoints, but allow POST requests on GET endpoints (some plugins
    // change REQUEST_METHOD to POST on GET requests, which caused them to be blocked)
    if ($type === self::TYPE_GET && !in_array($name, static::$getMethods)) {
      return false;
    }
    return true;
  }
}