git.fiddlerwoaroof.com
Browse code

set server to always return reponse code 200, added hook to set alternative response code

Ed L authored on 20/10/2011 18:56:00
Showing 1 changed files
... ...
@@ -77,12 +77,15 @@ class ServerEvents(object):
77 77
 		'''Given the freshly decoded content of the request, return what content should be used'''
78 78
 		return content
79 79
 
80
-	def setResponseCode(self, result, request):
81
-		code = 200
80
+	def getresponsecode(self, result):
81
+		# returns 200 so that the python client can see something useful
82
+		return 200
83
+		# for example
84
+		#code = 200
82 85
 		#if not isinstance(result, list):
83 86
 		#	if result is not None and result.error is not None:
84 87
 		#		code = result.error.code or 500
85
-		request.setResponseCode(code)
88
+		#return code
86 89
 
87 90
 
88 91
 
... ...
@@ -184,7 +187,8 @@ class JSON_RPC(Resource):
184 187
 	def _cbRender(self, result, request):
185 188
 		@threads.deferToThread
186 189
 		def _inner(*args, **_):
187
-			self.eventhandler.setResponseCode(result, request)
190
+			code = self.eventhandler.getresponsecode(result, request)
191
+			request.setResponseCode(code)
188 192
 			self.eventhandler.log(result, request, error=False)
189 193
 			if result is not None:
190 194
 				request.setHeader("content-type", 'application/json')
... ...
@@ -206,7 +210,9 @@ class JSON_RPC(Resource):
206 210
 			else: err = result
207 211
 
208 212
 			err = self.render_error(err, id)
209
-			self.eventhandler.setResponseCode(err, request)
213
+
214
+			code = self.eventhandler.getresponsecode(result, request)
215
+			request.setResponseCode(code)
210 216
 
211 217
 			request.setHeader("content-type", 'application/json')
212 218
 			result_ = jsonrpc.jsonutil.encode(err).encode('utf-8')