[
https://issues.apache.org/jira/browse/THRIFT-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689010#action_12689010
]
Alexander Shigin commented on THRIFT-154:
-----------------------------------------
lgtm
> Python THttpClient fails with https sites
> -----------------------------------------
>
> Key: THRIFT-154
> URL: https://issues.apache.org/jira/browse/THRIFT-154
> Project: Thrift
> Issue Type: Bug
> Components: Library (Python)
> Reporter: Dave Engberg
> Fix For: 0.1
>
> Attachments:
> 0001-THRIFT-154.-python-Make-THttpClient-take-a-URL-in-i.patch,
> thrift-http-url.patch, thrift-py-http-uri.patch, THttpClient.py.diff
>
>
> THttpClient contains a hard-coded reference to httplib.HTTP() which prevents
> it from working with any SSL sites.
> Here's a small patch that will at least use SSL when the port is 443. I'm
> not much of a Python expert, but I think (based on the current docs for the
> 'httplib' module) that a better solution would be to rewrite the THttpClient
> to take a URL instead of host+port+uri and then use the urllib module instead
> of the lower-level httplib, but this little patch will at least allow basic
> interoperability against HTTPS.
> Index: lib/py/src/transport/THttpClient.py
> ===================================================================
> --- lib/py/src/transport/THttpClient.py (revision 701711)
> +++ lib/py/src/transport/THttpClient.py (working copy)
> @@ -21,7 +21,10 @@
> self.__http = None
>
> def open(self):
> - self.__http = httplib.HTTP(self.host, self.port)
> + if self.port == httplib.HTTPS_PORT:
> + self.__http = httplib.HTTPS(self.host, self.port)
> + else:
> + self.__http = httplib.HTTP(self.host, self.port)
>
> def close(self):
> self.__http.close()
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.