Esempio n. 1
0
        static CurlHandler()
        {
            // curl_global_init call handled by Interop.libcurl's cctor

            // Verify the version of curl we're using is new enough
            s_curlVersionInfoData = Marshal.PtrToStructure<CurlVersionInfoData>(Interop.libcurl.curl_version_info(CurlAge));
            if (s_curlVersionInfoData.age < MinCurlAge)
            {
                throw new InvalidOperationException(SR.net_http_unix_https_libcurl_too_old);
            }

            // Feature detection
            s_supportsSSL = (CurlFeatures.CURL_VERSION_SSL & s_curlVersionInfoData.features) != 0;
            s_supportsAutomaticDecompression = (CurlFeatures.CURL_VERSION_LIBZ & s_curlVersionInfoData.features) != 0;
        }
Esempio n. 2
0
        static CurlHandler()
        {
            // curl_global_init call handled by Interop.libcurl's cctor

            // Verify the version of curl we're using is new enough
            s_curlVersionInfoData = Marshal.PtrToStructure <CurlVersionInfoData>(Interop.libcurl.curl_version_info(CurlAge));
            if (s_curlVersionInfoData.age < MinCurlAge)
            {
                throw new InvalidOperationException(SR.net_http_unix_https_libcurl_too_old);
            }

            // Feature detection
            s_supportsSSL = (CurlFeatures.CURL_VERSION_SSL & s_curlVersionInfoData.features) != 0;
            s_supportsAutomaticDecompression = (CurlFeatures.CURL_VERSION_LIBZ & s_curlVersionInfoData.features) != 0;
        }
Esempio n. 3
0
        static CurlHandler()
        {
            int result = Interop.libcurl.curl_global_init(Interop.libcurl.CurlGlobalFlags.CURL_GLOBAL_ALL);

            if (result != CURLcode.CURLE_OK)
            {
                throw new InvalidOperationException("Cannot use libcurl in this process");
            }
            curlVersionInfoData = Marshal.PtrToStructure <CurlVersionInfoData>(Interop.libcurl.curl_version_info(CurlAge));
            if (curlVersionInfoData.age < MinCurlAge)
            {
                throw new InvalidOperationException(SR.net_http_unix_https_libcurl_too_old);
            }
            _supportsSSL = (CurlFeatures.CURL_VERSION_SSL & curlVersionInfoData.features) != 0;
            _supportsAutomaticDecompression = (CurlFeatures.CURL_VERSION_LIBZ & curlVersionInfoData.features) != 0;
        }