aboutsummaryrefslogtreecommitdiffhomepage
path: root/application/api
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2020-09-30 15:57:57 +0200
committerArthurHoaro <arthur@hoa.ro>2020-09-30 15:57:57 +0200
commit255b2264a119f4b8cc9fe211c7740906701e15b4 (patch)
tree46e013dca2067ab234646b0333611a0b0c8292ce /application/api
parent25cb75552baaad62b093b0b38156fcb15dca7826 (diff)
downloadShaarli-255b2264a119f4b8cc9fe211c7740906701e15b4.tar.gz
Shaarli-255b2264a119f4b8cc9fe211c7740906701e15b4.tar.zst
Shaarli-255b2264a119f4b8cc9fe211c7740906701e15b4.zip
Revert unrelated changes and add unit tests
Diffstat (limited to 'application/api')
-rw-r--r--application/api/ApiMiddleware.php24
1 files changed, 17 insertions, 7 deletions
diff --git a/application/api/ApiMiddleware.php b/application/api/ApiMiddleware.php
index 7f1e7fca..f5b53b01 100644
--- a/application/api/ApiMiddleware.php
+++ b/application/api/ApiMiddleware.php
@@ -3,6 +3,7 @@ namespace Shaarli\Api;
3 3
4use Shaarli\Api\Exceptions\ApiAuthorizationException; 4use Shaarli\Api\Exceptions\ApiAuthorizationException;
5use Shaarli\Api\Exceptions\ApiException; 5use Shaarli\Api\Exceptions\ApiException;
6use Shaarli\Bookmark\BookmarkFileService;
6use Shaarli\Config\ConfigManager; 7use Shaarli\Config\ConfigManager;
7use Slim\Container; 8use Slim\Container;
8use Slim\Http\Request; 9use Slim\Http\Request;
@@ -70,7 +71,14 @@ class ApiMiddleware
70 $response = $e->getApiResponse(); 71 $response = $e->getApiResponse();
71 } 72 }
72 73
73 return $response; 74 return $response
75 ->withHeader('Access-Control-Allow-Origin', '*')
76 ->withHeader(
77 'Access-Control-Allow-Headers',
78 'X-Requested-With, Content-Type, Accept, Origin, Authorization'
79 )
80 ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
81 ;
74 } 82 }
75 83
76 /** 84 /**
@@ -99,7 +107,9 @@ class ApiMiddleware
99 */ 107 */
100 protected function checkToken($request) 108 protected function checkToken($request)
101 { 109 {
102 if (! $request->hasHeader('Authorization') && !isset($this->container->environment['REDIRECT_HTTP_AUTHORIZATION'])) { 110 if (!$request->hasHeader('Authorization')
111 && !isset($this->container->environment['REDIRECT_HTTP_AUTHORIZATION'])
112 ) {
103 throw new ApiAuthorizationException('JWT token not provided'); 113 throw new ApiAuthorizationException('JWT token not provided');
104 } 114 }
105 115
@@ -121,7 +131,7 @@ class ApiMiddleware
121 } 131 }
122 132
123 /** 133 /**
124 * Instantiate a new LinkDB including private links, 134 * Instantiate a new LinkDB including private bookmarks,
125 * and load in the Slim container. 135 * and load in the Slim container.
126 * 136 *
127 * FIXME! LinkDB could use a refactoring to avoid this trick. 137 * FIXME! LinkDB could use a refactoring to avoid this trick.
@@ -130,10 +140,10 @@ class ApiMiddleware
130 */ 140 */
131 protected function setLinkDb($conf) 141 protected function setLinkDb($conf)
132 { 142 {
133 $linkDb = new \Shaarli\Bookmark\LinkDB( 143 $linkDb = new BookmarkFileService(
134 $conf->get('resource.datastore'), 144 $conf,
135 true, 145 $this->container->get('history'),
136 $conf->get('privacy.hide_public_links') 146 true
137 ); 147 );
138 $this->container['db'] = $linkDb; 148 $this->container['db'] = $linkDb;
139 } 149 }