Skip to content

Commit

Permalink
now controller method raise 405 error by default
Browse files Browse the repository at this point in the history
  • Loading branch information
stanfeldman committed Jun 23, 2014
1 parent 6278cda commit badc194
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 8 deletions.
9 changes: 5 additions & 4 deletions kiss/controllers/core.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
from putils.patterns import Singleton
from kiss.views.core import Response
from werkzeug.exceptions import MethodNotAllowed


class Controller(object):
"""
Base class of all controllers.
"""
def get(self, request):
return Response("Method is not supported", status=405)
raise MethodNotAllowed()

def post(self, request):
return Response("Method is not supported", status=405)
raise MethodNotAllowed()

def put(self, request):
return Response("Method is not supported", status=405)
raise MethodNotAllowed()

def delete(self, request):
return Response("Method is not supported", status=405)
raise MethodNotAllowed()


21 changes: 18 additions & 3 deletions kiss/controllers/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,29 @@ def route(self, request):
return response
except HTTPException, e:
response = self.get_err_page(e)
self.logger.warning(Router.format_log(request, response.code, str(e)), exc_info=True)
log_code = 0
if hasattr(response, "status_code"):
log_code = response.status_code
else:
log_code = response.code
self.logger.warning(Router.format_log(request, log_code, str(e)), exc_info=True)
return response
except Exception, e:
response = self.get_err_page(InternalServerError(description=traceback.format_exc()))
self.logger.error(Router.format_log(request, response.code, str(e)), exc_info=True)
log_code = 0
if hasattr(response, "status_code"):
log_code = response.status_code
else:
log_code = response.code
self.logger.error(Router.format_log(request, log_code, str(e)), exc_info=True)
return response
response = self.get_err_page(NotFound(description="Not found %s" % request.url))
self.logger.warning(Router.format_log(request, response.code))
log_code = 0
if hasattr(response, "status_code"):
log_code = response.status_code
else:
log_code = response.code
self.logger.warning(Router.format_log(request, log_code))
return response

def get_err_page(self, err):
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

setup(
name = "kiss.py",
version = "0.4.17",
version = "1.0.0",
author = "Stanislav Feldman",
description = ("MVC web framework in Python with Gevent, Jinja2, Werkzeug"),
url = "http://stanislavfeldman.github.com/kiss.py/",
Expand Down

0 comments on commit badc194

Please sign in to comment.