Changeset - a12aef38b8b0
[Not reviewed]
default
0 2 0
Mads Kiilerich - 11 years ago 2015-01-06 00:54:36
madski@unity3d.com
error: remove allmost unused code for redirect on error page

It is much better to just stop and show the error message.
2 files changed with 0 insertions and 13 deletions:
0 comments (0 inline, 0 general)
kallithea/controllers/error.py
Show inline comments
 
@@ -46,53 +46,48 @@ class ErrorController(BaseController):
 
    related status codes are returned from the application.
 

	
 
    This behavior can be altered by changing the parameters to the
 
    ErrorDocuments middleware in your config/middleware.py file.
 
    """
 

	
 
    def __before__(self):
 
        #disable all base actions since we don't need them here
 
        pass
 

	
 
    def document(self):
 
        resp = request.environ.get('pylons.original_response')
 
        c.site_name = config.get('title')
 

	
 
        log.debug('### %s ###' % resp.status)
 

	
 
        e = request.environ
 
        c.serv_p = r'%(protocol)s://%(host)s/' \
 
                                    % {'protocol': e.get('wsgi.url_scheme'),
 
                                       'host': e.get('HTTP_HOST'), }
 

	
 
        c.error_message = cgi.escape(request.GET.get('code', str(resp.status)))
 
        c.error_explanation = self.get_error_explanation(resp.status_int)
 

	
 
        #  redirect to when error with given seconds
 
        c.redirect_time = 0
 
        c.redirect_module = _('Home page')
 
        c.url_redirect = "/"
 

	
 
        return render('/errors/error_document.html')
 

	
 
    def img(self, id):
 
        """Serve Pylons' stock images"""
 
        return self._serve_file(os.path.join(media_path, 'img', id))
 

	
 
    def style(self, id):
 
        """Serve Pylons' stock stylesheets"""
 
        return self._serve_file(os.path.join(media_path, 'style', id))
 

	
 
    def _serve_file(self, path):
 
        """Call Paste's FileApp (a WSGI application) to serve the file
 
        at the specified path
 
        """
 
        fapp = paste.fileapp.FileApp(path)
 
        return fapp(request.environ, self.start_response)
 

	
 
    def get_error_explanation(self, code):
 
        """ get the error explanations of int codes
 
            [400, 401, 403, 404, 500]"""
 
        try:
 
            code = int(code)
 
        except Exception:
 
            code = 500
kallithea/templates/errors/error_document.html
Show inline comments
 
## -*- coding: utf-8 -*-
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
    <head>
 
        <title>Error - ${c.error_message}</title>
 
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 
        <meta name="robots" content="index, nofollow"/>
 
        <link rel="icon" href="${h.url('/images/favicon.ico')}" type="image/png" />
 

	
 
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 
        %if c.redirect_time:
 
            <meta http-equiv="refresh" content="${c.redirect_time}; url=${c.url_redirect}"/>
 
        %endif
 

	
 
        <!-- stylesheets -->
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/contextbar.css')}" media="screen"/>
 
        <style type="text/css">
 
         #main_div{
 
           border: 0px solid #000;
 
           width: 500px;
 
           margin: auto;
 
           text-align: center;
 
           margin-top: 200px;
 
           font-size: 1.6em;
 
         }
 
         .error_message{
 
            text-align: center;
 
            color:#577632;
 
            font-size: 1.6em;
 
            margin:10px;
 
         }
 
        </style>
 

	
 
    </head>
 
    <body>
 
        <%include file="/base/flash_msg.html"/>
 
        <div id="login">
 
            <div class="table">
 
                <div id="main_div">
 
                    <div style="font-size:2.0em;margin: 10px">${c.site_name}</div>
 
                    <h1 class="error_message">${c.error_message}</h1>
 

	
 
                    <p>${c.error_explanation}</p>
 

	
 
                    %if c.redirect_time:
 
                        <p>${_('You will be redirected to %s in %s seconds') % (c.redirect_module,c.redirect_time)}</p>
 
                    %endif
 

	
 
                </div>
 
            </div>
 
            <!-- end login -->
 
        </div>
 
    </body>
 

	
 
</html>
0 comments (0 inline, 0 general)