diff options
Diffstat (limited to 'mediagoblin/meddleware')
-rw-r--r-- | mediagoblin/meddleware/__init__.py | 12 | ||||
-rw-r--r-- | mediagoblin/meddleware/csrf.py | 6 | ||||
-rw-r--r-- | mediagoblin/meddleware/noop.py | 5 |
3 files changed, 16 insertions, 7 deletions
diff --git a/mediagoblin/meddleware/__init__.py b/mediagoblin/meddleware/__init__.py index 3addc937..729a020d 100644 --- a/mediagoblin/meddleware/__init__.py +++ b/mediagoblin/meddleware/__init__.py @@ -18,3 +18,15 @@ ENABLED_MEDDLEWARE = ( 'mediagoblin.meddleware.noop:NoOpMeddleware', 'mediagoblin.meddleware.csrf:CsrfMeddleware', ) + + +class BaseMeddleware(object): + + def __init__(self, mg_app): + self.app = mg_app + + def process_request(self, request): + pass + + def process_response(self, request, response): + pass diff --git a/mediagoblin/meddleware/csrf.py b/mediagoblin/meddleware/csrf.py index 051afe58..ca2eca5f 100644 --- a/mediagoblin/meddleware/csrf.py +++ b/mediagoblin/meddleware/csrf.py @@ -21,6 +21,7 @@ from webob.exc import HTTPForbidden from wtforms import Form, HiddenField, validators from mediagoblin import mg_globals +from mediagoblin.meddleware import BaseMeddleware # Use the system (hardware-based) random number generator if it exists. # -- this optimization is lifted from Django @@ -47,7 +48,7 @@ def render_csrf_form_token(request): return form.csrf_token -class CsrfMeddleware(object): +class CsrfMeddleware(BaseMeddleware): """CSRF Protection Meddleware Adds a CSRF Cookie to responses and verifies that it is present @@ -57,9 +58,6 @@ class CsrfMeddleware(object): CSRF_KEYLEN = 64 SAFE_HTTP_METHODS = ("GET", "HEAD", "OPTIONS", "TRACE") - def __init__(self, mg_app): - self.app = mg_app - def process_request(self, request): """For non-safe requests, confirm that the tokens are present and match. diff --git a/mediagoblin/meddleware/noop.py b/mediagoblin/meddleware/noop.py index d11a5b9e..b43053de 100644 --- a/mediagoblin/meddleware/noop.py +++ b/mediagoblin/meddleware/noop.py @@ -15,11 +15,10 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -class NoOpMeddleware(object): +from mediagoblin.meddleware import BaseMeddleware - def __init__(self, mg_app): - self.app = mg_app +class NoOpMeddleware(BaseMeddleware): def process_request(self, request): pass |