Show More
@@ -82,28 +82,6 b' class hgweb(object):' | |||
|
82 | 82 | |
|
83 | 83 | self.refresh() |
|
84 | 84 | |
|
85 | # process this if it's a protocol request | |
|
86 | # protocol bits don't need to create any URLs | |
|
87 | # and the clients always use the old URL structure | |
|
88 | ||
|
89 | cmd = req.form.get('cmd', [''])[0] | |
|
90 | if cmd and cmd in protocol.__all__: | |
|
91 | try: | |
|
92 | if cmd in perms: | |
|
93 | try: | |
|
94 | self.check_perm(req, perms[cmd]) | |
|
95 | except ErrorResponse, inst: | |
|
96 | if cmd == 'unbundle': | |
|
97 | req.drain() | |
|
98 | raise | |
|
99 | method = getattr(protocol, cmd) | |
|
100 | return method(self.repo, req) | |
|
101 | except ErrorResponse, inst: | |
|
102 | req.respond(inst, protocol.HGTYPE) | |
|
103 | if not inst.message: | |
|
104 | return [] | |
|
105 | return '0\n%s\n' % inst.message, | |
|
106 | ||
|
107 | 85 | # work with CGI variables to create coherent structure |
|
108 | 86 | # use SCRIPT_NAME, PATH_INFO and QUERY_STRING as well as our REPO_NAME |
|
109 | 87 | |
@@ -123,6 +101,30 b' class hgweb(object):' | |||
|
123 | 101 | query = req.env['QUERY_STRING'].split('&', 1)[0] |
|
124 | 102 | query = query.split(';', 1)[0] |
|
125 | 103 | |
|
104 | # process this if it's a protocol request | |
|
105 | # protocol bits don't need to create any URLs | |
|
106 | # and the clients always use the old URL structure | |
|
107 | ||
|
108 | cmd = req.form.get('cmd', [''])[0] | |
|
109 | if cmd and cmd in protocol.__all__: | |
|
110 | if query: | |
|
111 | raise ErrorResponse(HTTP_NOT_FOUND) | |
|
112 | try: | |
|
113 | if cmd in perms: | |
|
114 | try: | |
|
115 | self.check_perm(req, perms[cmd]) | |
|
116 | except ErrorResponse, inst: | |
|
117 | if cmd == 'unbundle': | |
|
118 | req.drain() | |
|
119 | raise | |
|
120 | method = getattr(protocol, cmd) | |
|
121 | return method(self.repo, req) | |
|
122 | except ErrorResponse, inst: | |
|
123 | req.respond(inst, protocol.HGTYPE) | |
|
124 | if not inst.message: | |
|
125 | return [] | |
|
126 | return '0\n%s\n' % inst.message, | |
|
127 | ||
|
126 | 128 | # translate user-visible url structure to internal structure |
|
127 | 129 | |
|
128 | 130 | args = query.split('/', 2) |
General Comments 0
You need to be logged in to leave comments.
Login now