Abstract_REST_Endpoint
Abstract REST Endpoint Contract
Source
File: src/Tickets/Commerce/Gateways/Contracts/Abstract_REST_Endpoint.php
abstract class Abstract_REST_Endpoint implements REST_Endpoint_Interface, \Tribe__Documentation__Swagger__Provider_Interface {
/**
* The REST API endpoint path.
*
* @since 5.3.0
*
* @var string
*/
protected $path;
/**
* @inheritDoc
*/
public function get_endpoint_path() {
return $this->path;
}
/**
* @inheritDoc
*/
public function get_route_url() {
$namespace = tribe( 'tickets.rest-v1.main' )->get_events_route_namespace();
return rest_url( '/' . $namespace . $this->get_endpoint_path(), 'https' );
}
/**
* Gets the Return URL pointing to this on boarding route.
*
* @since 5.3.0 moved to Abstract_REST_Endpoint
* @since 5.1.9
*
* @return string
*/
public function get_return_url( $hash = null ) {
$arguments = [
'hash' => $hash,
];
return add_query_arg( $arguments, $this->get_route_url() );
}
/**
* Sanitize a request argument based on details registered to the route.
*
* @since 5.3.0 moved to Abstract_REST_Endpoint
* @since 5.1.9
*
* @param mixed $value Value of the 'filter' argument.
*
* @return string|array
*/
public function sanitize_callback( $value ) {
if ( is_array( $value ) ) {
return array_map( 'sanitize_text_field', $value );
}
return sanitize_text_field( $value );
}
/**
* {@inheritDoc}
*
* @TODO We need to make sure Swagger documentation is present.
*
* @since 5.3.0 moved to Abstract_REST_Endpoint
* @since 5.1.9
*
* @return array
*/
public function get_documentation() {
return [];
}
}
Changelog
| Version | Description |
|---|---|
| 5.3.0 | Introduced. |
Methods
- get_documentation — {@inheritDoc}
- get_endpoint_path
- get_return_url — Gets the Return URL pointing to this on boarding route.
- get_route_url
- sanitize_callback — Sanitize a request argument based on details registered to the route.