aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/decorators.py
diff options
context:
space:
mode:
authorxray7224 <jessica@megworld.co.uk>2013-07-11 20:24:20 +0100
committerxray7224 <jessica@megworld.co.uk>2013-07-11 20:24:20 +0100
commit1e2675b0c0ee2bf35705b538ec94978fe4f005d4 (patch)
tree5448fe60b71c060adc7bdde10d4a77310298073a /mediagoblin/decorators.py
parent786bbd79e8d77c06a9d86aee00edc4dd3e89d651 (diff)
downloadmediagoblin-1e2675b0c0ee2bf35705b538ec94978fe4f005d4.tar.lz
mediagoblin-1e2675b0c0ee2bf35705b538ec94978fe4f005d4.tar.xz
mediagoblin-1e2675b0c0ee2bf35705b538ec94978fe4f005d4.zip
Adds the decorator
Diffstat (limited to 'mediagoblin/decorators.py')
-rw-r--r--mediagoblin/decorators.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py
index 1fdb78d7..ad36f376 100644
--- a/mediagoblin/decorators.py
+++ b/mediagoblin/decorators.py
@@ -18,6 +18,7 @@ from functools import wraps
from urlparse import urljoin
from werkzeug.exceptions import Forbidden, NotFound
+from oauthlib.oauth1 import ResourceEndpoint
from mediagoblin import mg_globals as mgg
from mediagoblin import messages
@@ -271,7 +272,7 @@ def auth_enabled(controller):
return wrapper
-def oauth_requeired(controller):
+def oauth_required(controller):
""" Used to wrap API endpoints where oauth is required """
@wraps(controller)
def wrapper(request, *args, **kwargs):
@@ -282,5 +283,18 @@ def oauth_requeired(controller):
error = "Missing required parameter."
return json_response({"error": error}, status=400)
-
-
+
+ request_validator = GMGRequestValidator()
+ resource_endpoint = ResourceEndpoint(request_validator)
+ valid, request = resource_endpoint.validate_protected_resource_request(
+ uri=request.url,
+ http_method=request.method,
+ body=request.get_data(),
+ headers=dict(request.headers),
+ )
+ #print "[VALID] %s" % valid
+ #print "[REQUEST] %s" % request
+
+ return controller(request, *args, **kwargs)
+
+ return wrapper