summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-09-02 14:34:58 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-09-02 14:34:58 +0200
commite3512c977a7c4f05207bb312f97dafd1e50f62ed (patch)
tree2674b19e8beba5c518147dcb6f424230b03c5dd4
parente38237aa0c20ee505363588fdec89624acc30a92 (diff)
still trying to fix cors
-rw-r--r--external/newsapi.php6
-rw-r--r--middleware/corsmiddleware.php13
2 files changed, 9 insertions, 10 deletions
diff --git a/external/newsapi.php b/external/newsapi.php
index 2400041cb..489f27f72 100644
--- a/external/newsapi.php
+++ b/external/newsapi.php
@@ -80,13 +80,13 @@ class NewsAPI extends Controller {
public function cors() {
// needed for webapps access due to cross origin request policy
if(array_key_exists('Origin', $this->request->server)) {
- $allowed = $this->request->server['Origin'];
+ $origin = $this->request->server['Origin'];
} else {
- $allowed = '*';
+ $origin = '*';
}
$response = new Response();
- $response->addHeader('Access-Control-Allow-Origin', $allowed);
+ $response->addHeader('Access-Control-Allow-Origin', $origin);
$response->addHeader('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE');
$response->addHeader('Access-Control-Allow-Credentials', 'true');
$response->addHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type');
diff --git a/middleware/corsmiddleware.php b/middleware/corsmiddleware.php
index 7bde0a891..e0d3e23ad 100644
--- a/middleware/corsmiddleware.php
+++ b/middleware/corsmiddleware.php
@@ -52,15 +52,14 @@ class CORSMiddleware extends Middleware {
public function afterController($controller, $methodName, Response $response){
$annotationReader = new MethodAnnotationReader($controller, $methodName);
- if(array_key_exists('Origin', $this->request->server)) {
- $allowed = $this->request->server['Origin'];
- } else {
- $allowed = '*';
- }
+ // only react if its an API request and if the request sends origin
+ if(array_key_exists('Origin', $this->request->server) &&
+ $annotationReader->hasAnnotation('API')) {
- if($annotationReader->hasAnnotation('API')) {
- $response->addHeader('Access-Control-Allow-Origin', $allowed);
+ $origin = $this->request->server['Origin'];
+ $response->addHeader('Access-Control-Allow-Origin', $origin);
$response->addHeader('Access-Control-Allow-Credentials', 'true');
+
}
return $response;
}