summaryrefslogtreecommitdiff
path: root/inc/lib/batch-processing/class-astra-wp-async-request.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/lib/batch-processing/class-astra-wp-async-request.php')
-rw-r--r--inc/lib/batch-processing/class-astra-wp-async-request.php326
1 files changed, 163 insertions, 163 deletions
diff --git a/inc/lib/batch-processing/class-astra-wp-async-request.php b/inc/lib/batch-processing/class-astra-wp-async-request.php
index eee0d6e..5d32ab7 100644
--- a/inc/lib/batch-processing/class-astra-wp-async-request.php
+++ b/inc/lib/batch-processing/class-astra-wp-async-request.php
@@ -1,163 +1,163 @@
-<?php
-/**
- * WP Async Request
- *
- * @package WP-Background-Processing
- */
-
-if ( ! class_exists( 'Astra_WP_Async_Request' ) ) {
-
- /**
- * Abstract Astra_WP_Async_Request class.
- *
- * @abstract
- */
- abstract class Astra_WP_Async_Request {
-
- /**
- * Prefix
- *
- * (default value: 'wp')
- *
- * @var string
- * @access protected
- */
- protected $prefix = 'wp';
-
- /**
- * Action
- *
- * (default value: 'async_request')
- *
- * @var string
- * @access protected
- */
- protected $action = 'async_request';
-
- /**
- * Identifier
- *
- * @var mixed
- * @access protected
- */
- protected $identifier;
-
- /**
- * Data
- *
- * (default value: array())
- *
- * @var array
- * @access protected
- */
- protected $data = array();
-
- /**
- * Initiate new async request
- */
- public function __construct() {
- $this->identifier = $this->prefix . '_' . $this->action;
-
- add_action( 'wp_ajax_' . $this->identifier, array( $this, 'maybe_handle' ) );
- add_action( 'wp_ajax_nopriv_' . $this->identifier, array( $this, 'maybe_handle' ) );
- }
-
- /**
- * Set data used during the request
- *
- * @param array $data Data.
- *
- * @return $this
- */
- public function data( $data ) {
- $this->data = $data;
-
- return $this;
- }
-
- /**
- * Dispatch the async request
- *
- * @return array|WP_Error
- */
- public function dispatch() {
- $url = add_query_arg( $this->get_query_args(), $this->get_query_url() );
- $args = $this->get_post_args();
-
- return wp_remote_post( esc_url_raw( $url ), $args );
- }
-
- /**
- * Get query args
- *
- * @return array
- */
- protected function get_query_args() {
- if ( property_exists( $this, 'query_args' ) ) {
- return $this->query_args;
- }
-
- return array(
- 'action' => $this->identifier,
- 'nonce' => wp_create_nonce( $this->identifier ),
- );
- }
-
- /**
- * Get query URL
- *
- * @return string
- */
- protected function get_query_url() {
- if ( property_exists( $this, 'query_url' ) ) {
- return $this->query_url;
- }
-
- return admin_url( 'admin-ajax.php' );
- }
-
- /**
- * Get post args
- *
- * @return array
- */
- protected function get_post_args() {
- if ( property_exists( $this, 'post_args' ) ) {
- return $this->post_args;
- }
-
- return array(
- 'timeout' => 0.01,
- 'blocking' => false,
- 'body' => $this->data,
- 'cookies' => $_COOKIE,
- 'sslverify' => apply_filters( 'https_local_ssl_verify', false ),
- );
- }
-
- /**
- * Maybe handle
- *
- * Check for correct nonce and pass to handler.
- */
- public function maybe_handle() {
- // Don't lock up other requests while processing
- session_write_close();
-
- check_ajax_referer( $this->identifier, 'nonce' );
-
- $this->handle();
-
- wp_die();
- }
-
- /**
- * Handle
- *
- * Override this method to perform any actions required
- * during the async request.
- */
- abstract protected function handle();
-
- }
-}
+<?php
+/**
+ * WP Async Request
+ *
+ * @package WP-Background-Processing
+ */
+
+if ( ! class_exists( 'Astra_WP_Async_Request' ) ) {
+
+ /**
+ * Abstract Astra_WP_Async_Request class.
+ *
+ * @abstract
+ */
+ abstract class Astra_WP_Async_Request {
+
+ /**
+ * Prefix
+ *
+ * (default value: 'wp')
+ *
+ * @var string
+ * @access protected
+ */
+ protected $prefix = 'wp';
+
+ /**
+ * Action
+ *
+ * (default value: 'async_request')
+ *
+ * @var string
+ * @access protected
+ */
+ protected $action = 'async_request';
+
+ /**
+ * Identifier
+ *
+ * @var mixed
+ * @access protected
+ */
+ protected $identifier;
+
+ /**
+ * Data
+ *
+ * (default value: array())
+ *
+ * @var array
+ * @access protected
+ */
+ protected $data = array();
+
+ /**
+ * Initiate new async request
+ */
+ public function __construct() {
+ $this->identifier = $this->prefix . '_' . $this->action;
+
+ add_action( 'wp_ajax_' . $this->identifier, array( $this, 'maybe_handle' ) );
+ add_action( 'wp_ajax_nopriv_' . $this->identifier, array( $this, 'maybe_handle' ) );
+ }
+
+ /**
+ * Set data used during the request
+ *
+ * @param array $data Data.
+ *
+ * @return $this
+ */
+ public function data( $data ) {
+ $this->data = $data;
+
+ return $this;
+ }
+
+ /**
+ * Dispatch the async request
+ *
+ * @return array|WP_Error
+ */
+ public function dispatch() {
+ $url = add_query_arg( $this->get_query_args(), $this->get_query_url() );
+ $args = $this->get_post_args();
+
+ return wp_remote_post( esc_url_raw( $url ), $args );
+ }
+
+ /**
+ * Get query args
+ *
+ * @return array
+ */
+ protected function get_query_args() {
+ if ( property_exists( $this, 'query_args' ) ) {
+ return $this->query_args;
+ }
+
+ return array(
+ 'action' => $this->identifier,
+ 'nonce' => wp_create_nonce( $this->identifier ),
+ );
+ }
+
+ /**
+ * Get query URL
+ *
+ * @return string
+ */
+ protected function get_query_url() {
+ if ( property_exists( $this, 'query_url' ) ) {
+ return $this->query_url;
+ }
+
+ return admin_url( 'admin-ajax.php' );
+ }
+
+ /**
+ * Get post args
+ *
+ * @return array
+ */
+ protected function get_post_args() {
+ if ( property_exists( $this, 'post_args' ) ) {
+ return $this->post_args;
+ }
+
+ return array(
+ 'timeout' => 0.01,
+ 'blocking' => false,
+ 'body' => $this->data,
+ 'cookies' => $_COOKIE,
+ 'sslverify' => apply_filters( 'https_local_ssl_verify', false ),
+ );
+ }
+
+ /**
+ * Maybe handle
+ *
+ * Check for correct nonce and pass to handler.
+ */
+ public function maybe_handle() {
+ // Don't lock up other requests while processing
+ session_write_close();
+
+ check_ajax_referer( $this->identifier, 'nonce' );
+
+ $this->handle();
+
+ wp_die();
+ }
+
+ /**
+ * Handle
+ *
+ * Override this method to perform any actions required
+ * during the async request.
+ */
+ abstract protected function handle();
+
+ }
+}