Completed
Push — master ( e4436e...70eef2 )
by Lukas
14:47
created

OCSShareAPIMiddleware::afterController()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
eloc 4
c 1
b 0
f 1
nc 2
nop 3
dl 0
loc 8
rs 9.4285
1
<?php
2
3
namespace OCA\Files_Sharing\Middleware;
4
5
use OCA\Files_Sharing\API\Share20OCS;
6
use OCP\AppFramework\Http\Response;
7
use OCP\AppFramework\Middleware;
8
use OCP\AppFramework\OCS\OCSNotFoundException;
9
use OCP\IL10N;
10
use OCP\Share\IManager;
11
12
class OCSShareAPIMiddleware extends Middleware {
13
	/** @var IManager */
14
	private $shareManager;
15
	/** @var IL10N */
16
	private $l;
17
18
	public function __construct(IManager $shareManager,
19
								IL10N $l) {
20
		$this->shareManager = $shareManager;
21
		$this->l = $l;
22
	}
23
24
	/**
25
	 * @param \OCP\AppFramework\Controller $controller
26
	 * @param string $methodName
27
	 *
28
	 * @throws OCSNotFoundException
29
	 */
30
	public function beforeController($controller, $methodName) {
31
		if ($controller instanceof Share20OCS) {
32
			if (!$this->shareManager->shareApiEnabled()) {
33
				throw new OCSNotFoundException($this->l->t('Share API is disabled'));
34
			}
35
		}
36
	}
37
38
	/**
39
	 * @param \OCP\AppFramework\Controller $controller
40
	 * @param string $methodName
41
	 * @param Response $response
42
	 * @return Response
43
	 */
44
	public function afterController($controller, $methodName, Response $response) {
45
		if ($controller instanceof Share20OCS) {
46
			/** @var Share20OCS $controller */
47
			$controller->cleanup();
48
		}
49
50
		return $response;
51
	}
52
}
53