/
AppInit.php
49 lines (37 loc) · 1.63 KB
/
AppInit.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use dbeurive\Slim\Requester;
trait AppInit
{
/** @var Requester */
private $__Requester;
public function setUp() {
$configuration = require __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
$application = new \Slim\App($configuration);
$application->get('/get/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
$application->post('/post', function (Request $request, Response $response) {
$data = $request->getParsedBody();
$firstName = filter_var($data['firstname'], FILTER_SANITIZE_STRING);
$lastName = filter_var($data['lastname'], FILTER_SANITIZE_STRING);
$response->getBody()->write("Hello, $firstName $lastName");
return $response;
});
$application->post('/jsonrpc', function (Request $request, Response $response) {
$data = $request->getBody();
$data = json_decode($data, true);
if (JSON_ERROR_NONE !== json_last_error()) {
throw new \Exception("Invalid JSON");
}
$firstName = $data['firstname'];
$lastName = $data['lastname'];
$response->getBody()->write("Hello, $firstName $lastName");
return $response;
});
$this->__Requester = new Requester($application);
}
}