Slightly wrapping paste error middleware and turning it on
Now we can show a nice "borked goblin" error :)
This commit is contained in:
parent
a6cf463515
commit
72ae87af4a
53
mediagoblin/errormiddleware.py
Normal file
53
mediagoblin/errormiddleware.py
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# GNU MediaGoblin -- federated, autonomous media hosting
|
||||||
|
# Copyright (C) 2011 Free Software Foundation, Inc
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
from paste.exceptions.errormiddleware import make_error_middleware
|
||||||
|
|
||||||
|
MGOBLIN_ERROR_MESSAGE = """\
|
||||||
|
<div style="text-align:center;font-family: monospace">
|
||||||
|
<h1>YEOWCH... that's an error!</h1>
|
||||||
|
<pre>
|
||||||
|
.-------------------------.
|
||||||
|
| __ _ |
|
||||||
|
| -, \_,------,_// |
|
||||||
|
| <\ ,-- --.\ |
|
||||||
|
| / ( X) (X ) |
|
||||||
|
| ' '--, ,--'\ |
|
||||||
|
| / \ -v-v-u-v / |
|
||||||
|
| . '.__.--__'.\ |
|
||||||
|
| / ',___/ / \__/' |
|
||||||
|
| | | ,'\_'/, || |
|
||||||
|
| \_| | | | | || |
|
||||||
|
| W',_ ||| |||_'' |
|
||||||
|
| | '------'| |
|
||||||
|
| |__| |_|_ |
|
||||||
|
| ,,,-' '-,,, |
|
||||||
|
'-------------------------'
|
||||||
|
</pre>
|
||||||
|
<p>Something bad happened, and things broke.</p>
|
||||||
|
<p>If this is not your website, you may want to alert the owner.</p>
|
||||||
|
<br><br>
|
||||||
|
<p>
|
||||||
|
Powered... er broken... by
|
||||||
|
<a href="http://www.mediagoblin.org">MediaGoblin</a>,
|
||||||
|
a <a href="http://www.gnu.org">GNU Project</a>.
|
||||||
|
</p>
|
||||||
|
</div>"""
|
||||||
|
|
||||||
|
|
||||||
|
def mgoblin_error_middleware(app, global_conf, **kw):
|
||||||
|
kw['error_message'] = MGOBLIN_ERROR_MESSAGE
|
||||||
|
return make_error_middleware(app, global_conf, **kw)
|
@ -1,49 +0,0 @@
|
|||||||
<!--
|
|
||||||
# GNU MediaGoblin -- federated, autonomous media hosting
|
|
||||||
# Copyright (C) 2011 Free Software Foundation, Inc
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Affero General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU Affero General Public License for more details.
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
-->
|
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>500 error! GNU MediaGoblin is sorry...</title>
|
|
||||||
</head>
|
|
||||||
<body style="text-align:center;font-family: monospace">
|
|
||||||
<h1>YEOWCH... that's an error!</h1>
|
|
||||||
<p>
|
|
||||||
.-------------------------.<br>
|
|
||||||
| __ _ |<br>
|
|
||||||
| -, \_,------,_// |<br>
|
|
||||||
| <\ ,-- --.\ |<br>
|
|
||||||
| / ( X) (X ) |<br>
|
|
||||||
| ' '--, ,--'\ |<br>
|
|
||||||
| / \ -v-v-u-v / |<br>
|
|
||||||
| . '.__.--__'.\ |<br>
|
|
||||||
| / ',___/ / \__/' |<br>
|
|
||||||
| | | ,'\_'/, || |<br>
|
|
||||||
| \_| | | | | || |<br>
|
|
||||||
| W',_ ||| |||_'' |<br>
|
|
||||||
| | '------'| |<br>
|
|
||||||
| |__| |_|_ |<br>
|
|
||||||
| ,,,-' '-,,, |<br>
|
|
||||||
'-------------------------'<br>
|
|
||||||
</p>
|
|
||||||
<p>Something bad happened, and things broke.</p>
|
|
||||||
<p>If this is not your website, you may want to alert the owner.</p>
|
|
||||||
<br><br>
|
|
||||||
<p>Powered... er broken... by <a href="http://www.mediagoblin.org">MediaGoblin</a>, a <a href="http://www.gnu.org">GNU Project</a>.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
12
paste.ini
12
paste.ini
@ -1,7 +1,11 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
debug = true
|
# Set to true to enable web-based debugging messages and etc.
|
||||||
|
debug = false
|
||||||
|
|
||||||
[composite:main]
|
[pipeline:main]
|
||||||
|
pipeline = errors routing
|
||||||
|
|
||||||
|
[composite:routing]
|
||||||
use = egg:Paste#urlmap
|
use = egg:Paste#urlmap
|
||||||
/ = mediagoblin
|
/ = mediagoblin
|
||||||
/mgoblin_media/ = publicstore_serve
|
/mgoblin_media/ = publicstore_serve
|
||||||
@ -28,6 +32,10 @@ beaker.session.key = mediagoblin
|
|||||||
beaker.session.data_dir = %(here)s/user_dev/beaker/sessions/data
|
beaker.session.data_dir = %(here)s/user_dev/beaker/sessions/data
|
||||||
beaker.session.lock_dir = %(here)s/user_dev/beaker/sessions/lock
|
beaker.session.lock_dir = %(here)s/user_dev/beaker/sessions/lock
|
||||||
|
|
||||||
|
[filter:errors]
|
||||||
|
use = egg:mediagoblin#errors
|
||||||
|
debug = false
|
||||||
|
|
||||||
[server:main]
|
[server:main]
|
||||||
use = egg:Paste#http
|
use = egg:Paste#http
|
||||||
host = 127.0.0.1
|
host = 127.0.0.1
|
||||||
|
3
setup.py
3
setup.py
@ -58,6 +58,9 @@ setup(
|
|||||||
[paste.app_factory]
|
[paste.app_factory]
|
||||||
app = mediagoblin.app:paste_app_factory
|
app = mediagoblin.app:paste_app_factory
|
||||||
|
|
||||||
|
[paste.filter_app_factory]
|
||||||
|
errors = mediagoblin.errormiddleware:mgoblin_error_middleware
|
||||||
|
|
||||||
[zc.buildout]
|
[zc.buildout]
|
||||||
make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
|
make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user