diff options
Diffstat (limited to 'application/api')
-rw-r--r-- | application/api/ApiMiddleware.php | 10 | ||||
-rw-r--r-- | application/api/ApiUtils.php | 6 | ||||
-rw-r--r-- | application/api/controllers/ApiController.php | 9 | ||||
-rw-r--r-- | application/api/controllers/HistoryController.php (renamed from application/api/controllers/History.php) | 5 | ||||
-rw-r--r-- | application/api/controllers/Info.php | 4 | ||||
-rw-r--r-- | application/api/controllers/Tags.php | 1 | ||||
-rw-r--r-- | application/api/exceptions/ApiException.php | 8 | ||||
-rw-r--r-- | application/api/exceptions/ApiLinkNotFoundException.php | 3 | ||||
-rw-r--r-- | application/api/exceptions/ApiTagNotFoundException.php | 3 |
9 files changed, 22 insertions, 27 deletions
diff --git a/application/api/ApiMiddleware.php b/application/api/ApiMiddleware.php index ff209393..5ffb8c6d 100644 --- a/application/api/ApiMiddleware.php +++ b/application/api/ApiMiddleware.php | |||
@@ -1,9 +1,8 @@ | |||
1 | <?php | 1 | <?php |
2 | namespace Shaarli\Api; | 2 | namespace Shaarli\Api; |
3 | 3 | ||
4 | use Shaarli\Api\Exceptions\ApiException; | ||
5 | use Shaarli\Api\Exceptions\ApiAuthorizationException; | 4 | use Shaarli\Api\Exceptions\ApiAuthorizationException; |
6 | 5 | use Shaarli\Api\Exceptions\ApiException; | |
7 | use Shaarli\Config\ConfigManager; | 6 | use Shaarli\Config\ConfigManager; |
8 | use Slim\Container; | 7 | use Slim\Container; |
9 | use Slim\Http\Request; | 8 | use Slim\Http\Request; |
@@ -65,7 +64,7 @@ class ApiMiddleware | |||
65 | try { | 64 | try { |
66 | $this->checkRequest($request); | 65 | $this->checkRequest($request); |
67 | $response = $next($request, $response); | 66 | $response = $next($request, $response); |
68 | } catch(ApiException $e) { | 67 | } catch (ApiException $e) { |
69 | $e->setResponse($response); | 68 | $e->setResponse($response); |
70 | $e->setDebug($this->conf->get('dev.debug', false)); | 69 | $e->setDebug($this->conf->get('dev.debug', false)); |
71 | $response = $e->getApiResponse(); | 70 | $response = $e->getApiResponse(); |
@@ -98,7 +97,8 @@ class ApiMiddleware | |||
98 | * | 97 | * |
99 | * @throws ApiAuthorizationException The token couldn't be validated. | 98 | * @throws ApiAuthorizationException The token couldn't be validated. |
100 | */ | 99 | */ |
101 | protected function checkToken($request) { | 100 | protected function checkToken($request) |
101 | { | ||
102 | if (! $request->hasHeader('Authorization')) { | 102 | if (! $request->hasHeader('Authorization')) { |
103 | throw new ApiAuthorizationException('JWT token not provided'); | 103 | throw new ApiAuthorizationException('JWT token not provided'); |
104 | } | 104 | } |
@@ -126,7 +126,7 @@ class ApiMiddleware | |||
126 | */ | 126 | */ |
127 | protected function setLinkDb($conf) | 127 | protected function setLinkDb($conf) |
128 | { | 128 | { |
129 | $linkDb = new \LinkDB( | 129 | $linkDb = new \Shaarli\Bookmark\LinkDB( |
130 | $conf->get('resource.datastore'), | 130 | $conf->get('resource.datastore'), |
131 | true, | 131 | true, |
132 | $conf->get('privacy.hide_public_links'), | 132 | $conf->get('privacy.hide_public_links'), |
diff --git a/application/api/ApiUtils.php b/application/api/ApiUtils.php index fc5ecaf1..1824b5d0 100644 --- a/application/api/ApiUtils.php +++ b/application/api/ApiUtils.php | |||
@@ -1,8 +1,8 @@ | |||
1 | <?php | 1 | <?php |
2 | namespace Shaarli\Api; | 2 | namespace Shaarli\Api; |
3 | 3 | ||
4 | use Shaarli\Base64Url; | ||
5 | use Shaarli\Api\Exceptions\ApiAuthorizationException; | 4 | use Shaarli\Api\Exceptions\ApiAuthorizationException; |
5 | use Shaarli\Http\Base64Url; | ||
6 | 6 | ||
7 | /** | 7 | /** |
8 | * REST API utilities | 8 | * REST API utilities |
@@ -12,7 +12,7 @@ class ApiUtils | |||
12 | /** | 12 | /** |
13 | * Validates a JWT token authenticity. | 13 | * Validates a JWT token authenticity. |
14 | * | 14 | * |
15 | * @param string $token JWT token extracted from the headers. | 15 | * @param string $token JWT token extracted from the headers. |
16 | * @param string $secret API secret set in the settings. | 16 | * @param string $secret API secret set in the settings. |
17 | * | 17 | * |
18 | * @throws ApiAuthorizationException the token is not valid. | 18 | * @throws ApiAuthorizationException the token is not valid. |
@@ -50,7 +50,7 @@ class ApiUtils | |||
50 | /** | 50 | /** |
51 | * Format a Link for the REST API. | 51 | * Format a Link for the REST API. |
52 | * | 52 | * |
53 | * @param array $link Link data read from the datastore. | 53 | * @param array $link Link data read from the datastore. |
54 | * @param string $indexUrl Shaarli's index URL (used for relative URL). | 54 | * @param string $indexUrl Shaarli's index URL (used for relative URL). |
55 | * | 55 | * |
56 | * @return array Link data formatted for the REST API. | 56 | * @return array Link data formatted for the REST API. |
diff --git a/application/api/controllers/ApiController.php b/application/api/controllers/ApiController.php index 3be85b98..a6e7cbab 100644 --- a/application/api/controllers/ApiController.php +++ b/application/api/controllers/ApiController.php | |||
@@ -2,8 +2,9 @@ | |||
2 | 2 | ||
3 | namespace Shaarli\Api\Controllers; | 3 | namespace Shaarli\Api\Controllers; |
4 | 4 | ||
5 | use Shaarli\Bookmark\LinkDB; | ||
5 | use Shaarli\Config\ConfigManager; | 6 | use Shaarli\Config\ConfigManager; |
6 | use \Slim\Container; | 7 | use Slim\Container; |
7 | 8 | ||
8 | /** | 9 | /** |
9 | * Abstract Class ApiController | 10 | * Abstract Class ApiController |
@@ -25,12 +26,12 @@ abstract class ApiController | |||
25 | protected $conf; | 26 | protected $conf; |
26 | 27 | ||
27 | /** | 28 | /** |
28 | * @var \LinkDB | 29 | * @var LinkDB |
29 | */ | 30 | */ |
30 | protected $linkDb; | 31 | protected $linkDb; |
31 | 32 | ||
32 | /** | 33 | /** |
33 | * @var \History | 34 | * @var HistoryController |
34 | */ | 35 | */ |
35 | protected $history; | 36 | protected $history; |
36 | 37 | ||
@@ -41,7 +42,7 @@ abstract class ApiController | |||
41 | 42 | ||
42 | /** | 43 | /** |
43 | * ApiController constructor. | 44 | * ApiController constructor. |
44 | * | 45 | * |
45 | * Note: enabling debug mode displays JSON with readable formatting. | 46 | * Note: enabling debug mode displays JSON with readable formatting. |
46 | * | 47 | * |
47 | * @param Container $ci Slim container. | 48 | * @param Container $ci Slim container. |
diff --git a/application/api/controllers/History.php b/application/api/controllers/HistoryController.php index 5cc453bf..9afcfa26 100644 --- a/application/api/controllers/History.php +++ b/application/api/controllers/HistoryController.php | |||
@@ -14,7 +14,7 @@ use Slim\Http\Response; | |||
14 | * | 14 | * |
15 | * @package Shaarli\Api\Controllers | 15 | * @package Shaarli\Api\Controllers |
16 | */ | 16 | */ |
17 | class History extends ApiController | 17 | class HistoryController extends ApiController |
18 | { | 18 | { |
19 | /** | 19 | /** |
20 | * Service providing operation regarding Shaarli datastore and settings. | 20 | * Service providing operation regarding Shaarli datastore and settings. |
@@ -35,8 +35,7 @@ class History extends ApiController | |||
35 | $offset = $request->getParam('offset'); | 35 | $offset = $request->getParam('offset'); |
36 | if (empty($offset)) { | 36 | if (empty($offset)) { |
37 | $offset = 0; | 37 | $offset = 0; |
38 | } | 38 | } elseif (ctype_digit($offset)) { |
39 | elseif (ctype_digit($offset)) { | ||
40 | $offset = (int) $offset; | 39 | $offset = (int) $offset; |
41 | } else { | 40 | } else { |
42 | throw new ApiBadParametersException('Invalid offset'); | 41 | throw new ApiBadParametersException('Invalid offset'); |
diff --git a/application/api/controllers/Info.php b/application/api/controllers/Info.php index 25433f72..f37dcae5 100644 --- a/application/api/controllers/Info.php +++ b/application/api/controllers/Info.php | |||
@@ -7,7 +7,7 @@ use Slim\Http\Response; | |||
7 | 7 | ||
8 | /** | 8 | /** |
9 | * Class Info | 9 | * Class Info |
10 | * | 10 | * |
11 | * REST API Controller: /info | 11 | * REST API Controller: /info |
12 | * | 12 | * |
13 | * @package Api\Controllers | 13 | * @package Api\Controllers |
@@ -17,7 +17,7 @@ class Info extends ApiController | |||
17 | { | 17 | { |
18 | /** | 18 | /** |
19 | * Service providing various information about Shaarli instance. | 19 | * Service providing various information about Shaarli instance. |
20 | * | 20 | * |
21 | * @param Request $request Slim request. | 21 | * @param Request $request Slim request. |
22 | * @param Response $response Slim response. | 22 | * @param Response $response Slim response. |
23 | * | 23 | * |
diff --git a/application/api/controllers/Tags.php b/application/api/controllers/Tags.php index 6dd78750..82f3ef74 100644 --- a/application/api/controllers/Tags.php +++ b/application/api/controllers/Tags.php | |||
@@ -4,7 +4,6 @@ namespace Shaarli\Api\Controllers; | |||
4 | 4 | ||
5 | use Shaarli\Api\ApiUtils; | 5 | use Shaarli\Api\ApiUtils; |
6 | use Shaarli\Api\Exceptions\ApiBadParametersException; | 6 | use Shaarli\Api\Exceptions\ApiBadParametersException; |
7 | use Shaarli\Api\Exceptions\ApiLinkNotFoundException; | ||
8 | use Shaarli\Api\Exceptions\ApiTagNotFoundException; | 7 | use Shaarli\Api\Exceptions\ApiTagNotFoundException; |
9 | use Slim\Http\Request; | 8 | use Slim\Http\Request; |
10 | use Slim\Http\Response; | 9 | use Slim\Http\Response; |
diff --git a/application/api/exceptions/ApiException.php b/application/api/exceptions/ApiException.php index c8490e0c..d6b66323 100644 --- a/application/api/exceptions/ApiException.php +++ b/application/api/exceptions/ApiException.php | |||
@@ -10,7 +10,8 @@ use Slim\Http\Response; | |||
10 | * Parent Exception related to the API, able to generate a valid Response (ResponseInterface). | 10 | * Parent Exception related to the API, able to generate a valid Response (ResponseInterface). |
11 | * Also can include various information in debug mode. | 11 | * Also can include various information in debug mode. |
12 | */ | 12 | */ |
13 | abstract class ApiException extends \Exception { | 13 | abstract class ApiException extends \Exception |
14 | { | ||
14 | 15 | ||
15 | /** | 16 | /** |
16 | * @var Response instance from Slim. | 17 | * @var Response instance from Slim. |
@@ -27,7 +28,7 @@ abstract class ApiException extends \Exception { | |||
27 | * | 28 | * |
28 | * @return Response Final response to give. | 29 | * @return Response Final response to give. |
29 | */ | 30 | */ |
30 | public abstract function getApiResponse(); | 31 | abstract public function getApiResponse(); |
31 | 32 | ||
32 | /** | 33 | /** |
33 | * Creates ApiResponse body. | 34 | * Creates ApiResponse body. |
@@ -36,7 +37,8 @@ abstract class ApiException extends \Exception { | |||
36 | * | 37 | * |
37 | * @return array|string response body | 38 | * @return array|string response body |
38 | */ | 39 | */ |
39 | protected function getApiResponseBody() { | 40 | protected function getApiResponseBody() |
41 | { | ||
40 | if ($this->debug !== true) { | 42 | if ($this->debug !== true) { |
41 | return $this->getMessage(); | 43 | return $this->getMessage(); |
42 | } | 44 | } |
diff --git a/application/api/exceptions/ApiLinkNotFoundException.php b/application/api/exceptions/ApiLinkNotFoundException.php index de7e14f5..7c2bb56e 100644 --- a/application/api/exceptions/ApiLinkNotFoundException.php +++ b/application/api/exceptions/ApiLinkNotFoundException.php | |||
@@ -2,9 +2,6 @@ | |||
2 | 2 | ||
3 | namespace Shaarli\Api\Exceptions; | 3 | namespace Shaarli\Api\Exceptions; |
4 | 4 | ||
5 | |||
6 | use Slim\Http\Response; | ||
7 | |||
8 | /** | 5 | /** |
9 | * Class ApiLinkNotFoundException | 6 | * Class ApiLinkNotFoundException |
10 | * | 7 | * |
diff --git a/application/api/exceptions/ApiTagNotFoundException.php b/application/api/exceptions/ApiTagNotFoundException.php index eed5afa5..66ace8bf 100644 --- a/application/api/exceptions/ApiTagNotFoundException.php +++ b/application/api/exceptions/ApiTagNotFoundException.php | |||
@@ -2,9 +2,6 @@ | |||
2 | 2 | ||
3 | namespace Shaarli\Api\Exceptions; | 3 | namespace Shaarli\Api\Exceptions; |
4 | 4 | ||
5 | |||
6 | use Slim\Http\Response; | ||
7 | |||
8 | /** | 5 | /** |
9 | * Class ApiTagNotFoundException | 6 | * Class ApiTagNotFoundException |
10 | * | 7 | * |