Revision 691c81b7 lib/rapi/connector.py
b/lib/rapi/connector.py | ||
---|---|---|
31 | 31 |
|
32 | 32 |
from ganeti import constants |
33 | 33 |
from ganeti import http |
34 |
from ganeti import utils |
|
34 | 35 |
|
35 | 36 |
from ganeti.rapi import baserlib |
36 | 37 |
from ganeti.rapi import rlib2 |
... | ... | |
76 | 77 |
query = None |
77 | 78 |
args = {} |
78 | 79 |
|
79 |
result = None |
|
80 |
# Try to find handler for request path |
|
81 |
result = utils.FindMatch(self._connector, path) |
|
80 | 82 |
|
81 |
for key, handler in self._connector.iteritems(): |
|
82 |
# Regex objects |
|
83 |
if hasattr(key, "match"): |
|
84 |
m = key.match(path) |
|
85 |
if m: |
|
86 |
result = (handler, list(m.groups()), args) |
|
87 |
break |
|
83 |
if result is None: |
|
84 |
raise http.HttpNotFound() |
|
88 | 85 |
|
89 |
# String objects |
|
90 |
elif key == path: |
|
91 |
result = (handler, [], args) |
|
92 |
break |
|
86 |
(handler, groups) = result |
|
93 | 87 |
|
94 |
if result: |
|
95 |
return result |
|
96 |
else: |
|
97 |
raise http.HttpNotFound() |
|
88 |
return (handler, groups, args) |
|
98 | 89 |
|
99 | 90 |
|
100 | 91 |
class R_root(baserlib.R_Generic): |
Also available in: Unified diff