Author: bryanduxbury
Date: Thu Sep 2 01:00:19 2010
New Revision: 991786
URL: http://svn.apache.org/viewvc?rev=991786&view=rev
Log:
THRIFT-721. py: THttpClient ignores url parameters
Respect query string in THttpClient and generated remotes. Also, add an error
message on unknown methods.
Patch: Thomas Kho
Modified:
incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
incubator/thrift/trunk/lib/py/src/transport/THttpClient.py
Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc?rev=991786&r1=991785&r2=991786&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc Thu Sep
2 01:00:19 2010
@@ -1352,6 +1352,8 @@ void t_py_generator::generate_service_re
" else:" << endl <<
" port = 80" << endl <<
" uri = url[2]" << endl <<
+ " if url[4]:" << endl <<
+ " uri += '?%s' % url[4]" << endl <<
" http = True" << endl <<
" argi += 2" << endl <<
endl <<
@@ -1407,6 +1409,10 @@ void t_py_generator::generate_service_re
f_remote << endl;
}
+ f_remote << "else:" << endl;
+ f_remote << " print 'Unrecognized method %s' % cmd" << endl;
+ f_remote << " sys.exit(1)" << endl;
+ f_remote << endl;
f_remote << "transport.close()" << endl;
Modified: incubator/thrift/trunk/lib/py/src/transport/THttpClient.py
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/py/src/transport/THttpClient.py?rev=991786&r1=991785&r2=991786&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/py/src/transport/THttpClient.py (original)
+++ incubator/thrift/trunk/lib/py/src/transport/THttpClient.py Thu Sep 2
01:00:19 2010
@@ -54,6 +54,8 @@ class THttpClient(TTransportBase):
self.port = parsed.port or httplib.HTTPS_PORT
self.host = parsed.hostname
self.path = parsed.path
+ if parsed.query:
+ self.path += '?%s' % parsed.query
self.__wbuf = StringIO()
self.__http = None
self.__timeout = None