diff --git a/r2/r2/config/middleware.py b/r2/r2/config/middleware.py index 06e82b74d..a275dd3e2 100644 --- a/r2/r2/config/middleware.py +++ b/r2/r2/config/middleware.py @@ -31,7 +31,7 @@ from paste.cascade import Cascade from paste.registry import RegistryManager from paste.urlparser import StaticURLParser from paste.deploy.converters import asbool -from pylons import config, Response +from pylons import config from pylons.error import error_template from pylons.middleware import ErrorDocuments, ErrorHandler, StaticJavascripts from pylons.wsgiapp import PylonsApp, PylonsBaseWSGIApp @@ -179,17 +179,15 @@ class DomainMiddleware(object): # if there was a subreddit subdomain, redirect if sr_redirect and environ.get("FULLPATH"): - r = Response() if not subdomains and g.domain_prefix: subdomains.append(g.domain_prefix) subdomains.append(g.domain) redir = "%s/r/%s/%s" % ('.'.join(subdomains), sr_redirect, environ['FULLPATH']) redir = "http://" + redir.replace('//', '/') - r.status_code = 301 - r.headers['location'] = redir - r.content = "" - return r(environ, start_response) + + start_response("301 Moved Permanently", [("Location", redir)]) + return [""] return self.app(environ, start_response) @@ -304,34 +302,28 @@ class LimitUploadSize(object): cl_key = 'CONTENT_LENGTH' if environ['REQUEST_METHOD'] == 'POST': if cl_key not in environ: - r = Response() - r.status_code = 411 - r.content = '
length required' - return r(environ, start_response) + start_response("411 Length Required", []) + return ['length required'] try: cl_int = int(environ[cl_key]) except ValueError: - r = Response() - r.status_code = 400 - r.content = 'bad request' - return r(environ, start_response) + start_response("400 Bad Request", []) + return ['bad request'] if cl_int > self.max_size: from r2.lib.strings import string_dict error_msg = string_dict['css_validator_messages']['max_size'] % dict(max_size = self.max_size/1024) - r = Response() - r.status_code = 413 - r.content = ("" - "" - "you shouldn\'t be here") - return r(environ, start_response) + start_response("413 Too Big", []) + return ["" + "" + "you shouldn\'t be here"] return self.app(environ, start_response)