]> git.mxchange.org Git - friendica.git/blob - src/Capabilities/ICanHandleRequests.php
Merge pull request #10994 from nupplaphil/feat/module_constructor
[friendica.git] / src / Capabilities / ICanHandleRequests.php
1 <?php
2
3 namespace Friendica\Capabilities;
4
5 /**
6  * This interface provides the capability to handle requests from clients and returns the desired outcome
7  */
8 interface ICanHandleRequests
9 {
10         /**
11          * Module GET method to display raw content from technical endpoints
12          *
13          * Extend this method if the module is supposed to return communication data,
14          * e.g. from protocol implementations.
15          */
16         public function rawContent();
17
18         /**
19          * Module GET method to display any content
20          *
21          * Extend this method if the module is supposed to return any display
22          * through a GET request. It can be an HTML page through templating or a
23          * XML feed or a JSON output.
24          */
25         public function content(): string;
26
27         /**
28          * Module DELETE method to process submitted data
29          *
30          * Extend this method if the module is supposed to process DELETE requests.
31          * Doesn't display any content
32          */
33         public function delete();
34
35         /**
36          * Module PATCH method to process submitted data
37          *
38          * Extend this method if the module is supposed to process PATCH requests.
39          * Doesn't display any content
40          */
41         public function patch();
42
43         /**
44          * Module POST method to process submitted data
45          *
46          * Extend this method if the module is supposed to process POST requests.
47          * Doesn't display any content
48          */
49         public function post();
50
51         /**
52          * Module PUT method to process submitted data
53          *
54          * Extend this method if the module is supposed to process PUT requests.
55          * Doesn't display any content
56          */
57         public function put();
58
59         public function getClassName(): string;
60 }