alpn_select_callback must be a callable

This commit is contained in:
Thomas Kriechbaumer 2017-05-17 10:38:31 +08:00
parent 3fadda2bba
commit ca46b1e340

View File

@ -524,9 +524,11 @@ class _Connection:
return options[0] return options[0]
context.set_alpn_select_callback(alpn_select_callback) context.set_alpn_select_callback(alpn_select_callback)
elif alpn_select_callback is not None and alpn_select is None: elif alpn_select_callback is not None and alpn_select is None:
if not callable(alpn_select_callback):
raise exceptions.TlsException("ALPN error: alpn_select_callback must be a function.")
context.set_alpn_select_callback(alpn_select_callback) context.set_alpn_select_callback(alpn_select_callback)
elif alpn_select_callback is not None and alpn_select is not None: elif alpn_select_callback is not None and alpn_select is not None:
raise exceptions.TlsException("ALPN error: only define alpn_select (string) OR alpn_select_callback (method).") raise exceptions.TlsException("ALPN error: only define alpn_select (string) OR alpn_select_callback (function).")
return context return context