env = Env()
report = [
f'Testing curl {env.curl_version()}',
+ f' curl: Features: {env.curl_features_string()}',
+ f' curl: Protocols: {env.curl_protocols_string()}',
f' httpd: {env.httpd_version()}, http:{env.http_port} https:{env.https_port}',
f' httpd-proxy: {env.httpd_version()}, http:{env.proxy_port} https:{env.proxys_port}'
]
'version': '',
'os': '',
'fullname': '',
+ 'features_string': '',
'features': [],
+ 'protocols_string': '',
'protocols': [],
'libs': [],
'lib_versions': [],
re.sub(r'/[a-z0-9.-]*', '', lib) for lib in self.curl_props['lib_versions']
]
if line.startswith('Features: '):
+ self.curl_props['features_string'] = line[10:]
self.curl_props['features'] = [
feat.lower() for feat in line[10:].split(' ')
]
if line.startswith('Protocols: '):
+ self.curl_props['protocols_string'] = line[11:]
self.curl_props['protocols'] = [
prot.lower() for prot in line[11:].split(' ')
]
return not Env.curl_uses_lib('ngtcp2') and Env.curl_uses_lib('nghttp3')
return False
+ @staticmethod
+ def curl_features_string() -> str:
+ return Env.CONFIG.curl_props['features_string']
+
@staticmethod
def curl_has_feature(feature: str) -> bool:
return feature.lower() in Env.CONFIG.curl_props['features']
+ @staticmethod
+ def curl_protocols_string() -> str:
+ return Env.CONFIG.curl_props['protocols_string']
+
@staticmethod
def curl_has_protocol(protocol: str) -> bool:
return protocol.lower() in Env.CONFIG.curl_props['protocols']