Switch urllib2 with httplib2 in frontend/afe/views.py.
urllib2 was causing random 'Connection reset by peer' on GWT devmode; appears to
be a bug in the library, as httplib2 does not cause this error.
Signed-off-by: James Ren <jamesren@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@4655 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/afe/views.py b/frontend/afe/views.py
index 6c938d9..f304bcb 100644
--- a/frontend/afe/views.py
+++ b/frontend/afe/views.py
@@ -1,4 +1,4 @@
-import urllib2, sys, traceback, cgi
+import httplib2, sys, traceback, cgi
from django.http import HttpResponse, HttpResponsePermanentRedirect
from django.http import HttpResponseServerError
@@ -40,13 +40,14 @@
GWT_SERVER = 'http://localhost:8888/'
def gwt_forward(request, forward_addr):
+ url = GWT_SERVER + forward_addr
if len(request.POST) == 0:
- data = None
+ headers, content = httplib2.Http().request(url, 'GET')
else:
- data = request.raw_post_data
- url_response = urllib2.urlopen(GWT_SERVER + forward_addr, data=data)
- http_response = HttpResponse(url_response.read())
- for header, value in url_response.info().items():
+ headers, content = httplib2.Http().request(url, 'POST',
+ body=request.raw_post_data)
+ http_response = HttpResponse(content)
+ for header, value in headers.iteritems():
if header not in ('connection',):
http_response[header] = value
return http_response