@@ -81,14 +81,13 @@ def get_collection(self, class_name, input):
8181 class_name ):
8282 raise Unauthorised ('Permission to view %s denied' % class_name )
8383 class_obj = self .db .getclass (class_name )
84- prop_name = class_obj .labelprop ()
8584 class_path = self .base_path + class_name
8685 result = [{'id' : item_id , 'link' : class_path + item_id }
8786 for item_id in class_obj .list ()
8887 if self .db .security .hasPermission ('View' , self .db .getuid (),
8988 class_name ,
9089 itemid = item_id )]
91- return result
90+ return 200 , result
9291
9392 def get_element (self , class_name , item_id , input ):
9493 if not self .db .security .hasPermission ('View' , self .db .getuid (),
@@ -110,7 +109,7 @@ def get_element(self, class_name, item_id, input):
110109 'attributes' : dict (result )
111110 }
112111
113- return result
112+ return 200 , result
114113
115114 def post_collection (self , class_name , input ):
116115 if not self .db .security .hasPermission ('Create' , self .db .getuid (),
@@ -144,7 +143,7 @@ def post_collection(self, class_name, input):
144143 'id' : item_id ,
145144 'link' : self .base_path + class_name + item_id
146145 }
147- return result
146+ return 201 , result
148147
149148 def post_element (self , class_name , item_id , input ):
150149 raise Reject ('Invalid request' )
@@ -173,7 +172,7 @@ def put_element(self, class_name, item_id, input):
173172 'link' : self .base_path + class_name + item_id ,
174173 'attribute' : result
175174 }
176- return result
175+ return 200 , result
177176
178177 def delete_collection (self , class_name , input ):
179178 if not self .db .security .hasPermission ('Delete' , self .db .getuid (),
@@ -197,7 +196,7 @@ def delete_collection(self, class_name, input):
197196 'count' : count
198197 }
199198
200- return result
199+ return 200 , result
201200
202201 def delete_element (self , class_name , item_id , input ):
203202 if not self .db .security .hasPermission ('Delete' , self .db .getuid (),
@@ -211,7 +210,7 @@ def delete_element(self, class_name, item_id, input):
211210 'status' : 'ok'
212211 }
213212
214- return result
213+ return 200 , result
215214
216215 def patch_collection (self , class_name , input ):
217216 raise Reject ('Invalid request' )
@@ -229,15 +228,15 @@ def dispatch(self, method, uri, input):
229228 output = None
230229 try :
231230 if resource_uri in self .db .classes :
232- output = getattr (self , "%s_collection" % method .lower ())(
231+ response_code , output = getattr (self , "%s_collection" % method .lower ())(
233232 resource_uri , input )
234233 else :
235234 class_name , item_id = hyperdb .splitDesignator (resource_uri )
236- output = getattr (self , "%s_element" % method .lower ())(
235+ response_code , output = getattr (self , "%s_element" % method .lower ())(
237236 class_name , item_id , input )
238237
239238 output = data_obj (output )
240- self .client .response_code = 200
239+ self .client .response_code = response_code
241240 except IndexError , msg :
242241 output = error_obj (404 , msg )
243242 self .client .response_code = 404
0 commit comments