PluginProbe
ActivityPub / 0.14.1
ActivityPub v0.14.1
9.3.1 9.3.0 9.2.2 9.2.1 9.2.0 9.1.0 9.0.2 9.0.1 9.0.0 8.3.0 8.2.1 8.2.0 8.1.1 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.2.0 1.3.0 2.0.0 2.0.1 2.1.0 2.1.1 All 160 releases
activitypub / includes / rest / class-server.php

class-server.php in ActivityPub 0.14.1, at includes/rest/class-server.php

36 lines 1020 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Activitypub\Rest;
3
4 /**
5 * Custom (hopefully temporary) ActivityPub Rest Server
6 *
7 * @author Matthias Pfefferle
8 */
9 class Server extends \WP_REST_Server {
10 /**
11 * Overwrite dispatch function to quick fix missing subtype featur
12 *
13 * @see https://core.trac.wordpress.org/ticket/49404
14 *
15 * @param WP_REST_Request $request Request to attempt dispatching.
16 * @return WP_REST_Response Response returned by the callback.
17 */
18 public function dispatch( $request ) {
19 $content_type = $request->get_content_type();
20
21 if ( ! $content_type ) {
22 return parent::dispatch( $request );
23 }
24
25 // check for content-sub-types like 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'
26 if ( \preg_match( '/application\/([a-zA-Z+_-]+\+)json/', $content_type['value'] ) ) {
27 $request->set_header( 'Content-Type', 'application/json' );
28 }
29
30 // make request filterable
31 $request = \apply_filters( 'activitypub_pre_dispatch_request', $request );
32
33 return parent::dispatch( $request );
34 }
35 }
36