MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / getCapabilities

Method getCapabilities

Libraries/HttpClient/HttpClient.cpp:624–681  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

622}
623
624SC::HttpClientCapabilities SC::HttpClient::getCapabilities()
625{
626 HttpClientCapabilities capabilities;
627
628#if SC_PLATFORM_APPLE
629 capabilities.backend = HttpClientCapabilities::AppleURLSession;
630#elif SC_PLATFORM_LINUX
631 capabilities.backend = HttpClientCapabilities::LibCurl;
632#elif SC_PLATFORM_WINDOWS
633 capabilities.backend = HttpClientCapabilities::WinHttp;
634#else
635 capabilities.backend = HttpClientCapabilities::Unsupported;
636#endif
637
638 if (capabilities.backend == HttpClientCapabilities::Unsupported)
639 {
640 return capabilities;
641 }
642
643 capabilities.multipleOperationsPerClient = true;
644 capabilities.fixedRequestBody = true;
645 capabilities.sizedStreamRequestBody = true;
646 capabilities.chunkedStreamRequestBody = true;
647 capabilities.redirectPolicy = true;
648 capabilities.protocolHttp2Preferred = true;
649
650#if SC_PLATFORM_APPLE
651 capabilities.protocolHttp11Only = false;
652 capabilities.protocolHttp2Required = false;
653 capabilities.tlsDisablePeerVerification = false;
654 capabilities.tlsCustomCaPath = false;
655 capabilities.proxyNoProxy = false;
656 capabilities.proxyHttp = false;
657 capabilities.proxyAuthorization = false;
658 capabilities.proxyBypassList = false;
659#elif SC_PLATFORM_LINUX
660 capabilities.protocolHttp11Only = true;
661 capabilities.protocolHttp2Required = true;
662 capabilities.tlsDisablePeerVerification = true;
663 capabilities.tlsCustomCaPath = true;
664 capabilities.proxyNoProxy = true;
665 capabilities.proxyHttp = true;
666 capabilities.proxyAuthorization = true;
667 capabilities.proxyBypassList = true;
668#elif SC_PLATFORM_WINDOWS
669 capabilities.protocolHttp11Only = true;
670 capabilities.protocolHttp2Required = true;
671 capabilities.tlsDisablePeerVerification = true;
672 capabilities.tlsCustomCaPath = false;
673 capabilities.proxyNoProxy = true;
674 capabilities.proxyHttp = true;
675 capabilities.proxyAuthorization = true;
676 capabilities.proxyBypassList = true;
677#endif
678
679 capabilities.contentCodingPolicy = false;
680 return capabilities;
681}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected