[ 
https://issues.apache.org/jira/browse/THRIFT-5503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonahan Dufault closed THRIFT-5503.
-----------------------------------
    Resolution: Duplicate

already fixed in commit bf0967537bdf189a8806fe05a2710e1011370956

> basic_proxy_auth_header in THttpClient.py needs to be a byte string 
> --------------------------------------------------------------------
>
>                 Key: THRIFT-5503
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5503
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>         Environment: is this what you mean?
>  
> {code:java}
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File 
> "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\__init__.py",
>  line 28, in connect
>     return Connection(server_hostname, http_path, access_token, **kwargs)
>   File 
> "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\client.py",
>  line 230, in __init__
>     self._transport = thrift.transport.THttpClient.THttpClient(
>   File 
> "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py",
>  line 87, in __init__
>     self.proxy_auth = self.basic_proxy_auth_header(parsed)
>   File 
> "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py",
>  line 101, in basic_proxy_auth_header
>     ap = b"%s:%s" % (urllib.parse.unquote(proxy.username),
> TypeError: %b requires a bytes-like object, or an object that implements 
> __bytes__, not 'str' {code}
>            Reporter: Jonahan Dufault
>            Priority: Trivial
>
> Please be gentle I'm really new and am trying to follow the guidelines best I 
> can.
>  
> [https://github.com/apache/thrift/blob/febc5121ea425d92623512367d7e365c13be31c4/lib/py/src/transport/THttpClient.py#L99]
>  
> In this line 
>  
>  
> {code:java}
> ap = "%s:%s" % (urllib.parse.unquote(proxy.username),                     
> urllib.parse.unquote(proxy.password))        
> cr = base64.b64encode(ap).strip() {code}
>  
>  
> ap returns a string, but b64encode needs bytes and returns bytes. I don't 
> know if this is a change
>  
> the fix is pretty trivial:
>  
> {code:java}
>         ap = ("%s:%s" % (urllib.parse.unquote(proxy.username),                
>         urllib.parse.unquote(proxy.password))).encode("UTF-8")
>         cr = base64.standard_b64encode(ap).strip().decode("UTF-8"){code}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to