Edit File: class.request.php
<?php namespace SendWP\API; class Request { protected $server_url; protected $endpoint; protected $client_name; protected $client_secret; public static function create( $endpoint ) { $server_url = sendwp_get_server_url(); $client_name = sendwp_get_client_name(); $client_secret = sendwp_get_client_secret(); return new self( $server_url, $endpoint, $client_name, $client_secret ); } public function __construct( $server_url, $endpoint, $client_name, $client_secret ) { $this->server_url = $server_url; $this->set_endpoint( $endpoint ); $this->client_name = $client_name; $this->client_secret = $client_secret; } public function set_endpoint( $target ) { $this->endpoint = 'wp-json/sendwp/' . $target; } public function request_url() { return $this->server_url . $this->endpoint; } public function post( $args ) { return $this->request( 'POST', $args ); } public function request( $method, $args ) { $args[ 'method' ] = $method; $args['reject_unsafe_urls'] = false; // Whitelist requests to the service. $args[ 'headers' ][ 'x-sendwp-client-auth' ] = $this->get_auth_headers(); if (! empty($_SERVER['HTTP_CLIENT_IP'])) { $args['headers']['x-forwarded-for'] = $_SERVER['HTTP_CLIENT_IP']; } elseif (! empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $args['headers']['x-forwarded-for'] = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $args['headers']['x-forwarded-for'] = $_SERVER['REMOTE_ADDR']; } return wp_remote_request( $this->request_url(), $args ); } protected function get_auth_headers() { return 'Basic ' . base64_encode( $this->client_name . ':' . $this->client_secret ); } }
Back