[openstack-dev] [keystone]Why not common definition about normal HTTP status code like 2xx and 3xx?
samuel
samuel at lsd.ufcg.edu.br
Tue Jun 2 11:11:19 UTC 2015
Hi Chenhong Liu,
encapsulated into the WSGI application, Keystone is architecturally
organized as follows:
Application <-> Router <-> Controller <-> Manager <-> Driver
The Router connects called URLs with the code in the Controller, which
delegates actions
to Manager, which manages the business logic and in turn calls the
configured Driver to
access stored information.
The Controller level may catch raised exceptions from Manager/Driver
[1]; those are the
exceptions defined at exception.py and represent the 4xx and 5xx HTTP
status codes.
When a Controller call to Manager/Driver has success, it may set the
HTTP status code
itself [2] or it will be defined when rendering the WSGI response [3];
those are the 2xx
HTTP status codes.
The 300 HTTP status code is particularly used in version discovery, and
is defined at that
specific manager call in the base Controller class [4].
Sincerely,
Samuel
[1]
http://git.openstack.org/cgit/openstack/keystone/tree/keystone/identity/backends/sql.py#n130
[2]
http://git.openstack.org/cgit/openstack/keystone/tree/keystone/contrib/federation/controllers.py#n100
[3]
http://git.openstack.org/cgit/openstack/keystone/tree/keystone/common/wsgi.py#n740
[4]
http://git.openstack.org/cgit/openstack/keystone/tree/keystone/controllers.py#n178
Em 02.06.2015 06:45, Boris Bobrov escreveu:
> On Tuesday 02 June 2015 09:32:45 Chenhong Liu wrote:
> There is keystone/exception.py which contains Exceptions defined and
> used
> inside keystone provide 4xx and 5xx status code. And we can use it
> like:
> exception.Forbidden.code, exception.forbiddent.title
> exception.NotFound.code, exception.NotFound.title
>
> This makes the code looks pretty and avoid error prone. But I can't
> find
> definition for other status code, like 200, 201, 204, 302, and so on.
> The
> code in keystone, especially the unit test cases, just write these
> status
> code and title explicitly.
>
> How about add those definitions?
>
> These are standard HTTP codes:
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
>
> Description in exceptions is given because one error code can be used
> for
> several errors. Success codes always have one meaning.
More information about the OpenStack-dev
mailing list