aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/request.py
diff options
context:
space:
mode:
authorxray7224 <jessica@megworld.co.uk>2013-07-11 17:58:58 +0100
committerxray7224 <jessica@megworld.co.uk>2013-07-11 18:21:43 +0100
commit2b60a56cbec44f789ee2efe71294979d7784515c (patch)
treecf2476a7301fa71d18385ace757c2633cf8d7f82 /mediagoblin/tools/request.py
parent405aa45adc14d3c67a120618ecc0ae792f5881de (diff)
downloadmediagoblin-2b60a56cbec44f789ee2efe71294979d7784515c.tar.lz
mediagoblin-2b60a56cbec44f789ee2efe71294979d7784515c.tar.xz
mediagoblin-2b60a56cbec44f789ee2efe71294979d7784515c.zip
Finishes most of oauth, just decorator to complete
Diffstat (limited to 'mediagoblin/tools/request.py')
-rw-r--r--mediagoblin/tools/request.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py
index 2c9e609d..0c0fc557 100644
--- a/mediagoblin/tools/request.py
+++ b/mediagoblin/tools/request.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import re
import json
import logging
from mediagoblin.db.models import User
@@ -25,6 +26,9 @@ _log = logging.getLogger(__name__)
form_encoded = "application/x-www-form-urlencoded"
json_encoded = "application/json"
+# Regex for Authorization header
+auth_header_re = re.compile('(\w+)[:=] ?"?(\w+)"?')
+
def setup_user_in_request(request):
"""
Examine a request and tack on a request.user parameter if that's
@@ -53,3 +57,9 @@ def decode_request(request):
else:
data = ""
return data
+
+def decode_authorization_header(header):
+ """ Decodes a HTTP Authorization Header to python dictionary """
+ authorization = header.get("Authorization", "")
+ tokens = dict(auth_header_re.findall(authorization))
+ return tokens