summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan LaCour <jonathan@cleverdevil.org>2013-03-12 10:09:51 -0700
committerJonathan LaCour <jonathan@cleverdevil.org>2013-03-12 10:09:51 -0700
commit6fe9a0120ae8c20d838a3148950dddf3999a148b (patch)
tree480d833814e06c37c61bbbee64afa5f915449ed2
parentc29e0591230ce825ceae6784ac519f5471821b5a (diff)
parent125b3ad2e00348fdc3a861b81edc2d405eb15ddc (diff)
downloadpecan-6fe9a0120ae8c20d838a3148950dddf3999a148b.tar.gz
Merge pull request #189 from ryanpetrello/doc-update
Add documentation for returning specific HTTP status codes.
-rw-r--r--docs/source/routing.rst29
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/source/routing.rst b/docs/source/routing.rst
index ac6a9b2..e27baf6 100644
--- a/docs/source/routing.rst
+++ b/docs/source/routing.rst
@@ -134,6 +134,35 @@ methods on your controller objects provides additional flexibility for
processing all or part of a URL.
+Setting a Return Status Code
+--------------------------------
+
+Setting a specific HTTP response code (such as ``201 Created``) is simple:
+
+::
+
+ from pecan import expose, response
+
+ class RootController(object):
+
+ @expose('json')
+ def hello(self):
+ response.status = 201
+ return {'foo': 'bar'}
+
+Pecan also comes with ``abort``, a utility function for raising HTTP errors:
+
+::
+
+ from pecan import expose, abort
+
+ class RootController(object):
+
+ @expose('json')
+ def hello(self):
+ abort(404)
+
+
Routing to Subcontrollers with ``_lookup``
------------------------------------------