Tribe__Events__Aggregator__Service::post( string $endpoint, array $data = array() )

Performs a POST request against the Event Aggregator service


Parameters

$endpoint

(string) (Required) Endpoint for the Event Aggregator service

$data

(array) (Optional) Parameters to send to the endpoint

Default value: array()


Top ↑

Return

(stdClass|WP_Error)


Top ↑

Source

File: src/Tribe/Aggregator/Service.php

	public function post( $endpoint, $data = array() ) {
		$url = $this->build_url( $endpoint );

		// If we have an WP_Error we return it here
		if ( is_wp_error( $url ) ) {
			return $url;
		}

		if ( empty( $data['body'] ) ) {
			$args = array( 'body' => $data );
		} else {
			$args = $data;
		}

		// if not timeout was set we pass it as 15 seconds
		if ( ! isset( $args['timeout'] ) ) {
			$args['timeout'] = 15;
		}

		$response = $this->requests->post( esc_url_raw( $url ), $args );

		if ( is_wp_error( $response ) ) {
			return $response;
		}

		$json = json_decode( wp_remote_retrieve_body( $response ) );

		if ( empty( $json ) ) {
			return tribe_error( 'core:aggregator:invalid-json-response', array( 'response' => $response ), array( 'response' => $response ) );
		}

		return $json;
	}