public function getDefaultUserAgent(): string
    {
        if (! $this->defaultUserAgent) {
            $currentMethodName = __FUNCTION__;
            $isAdapterUserAgent = method_exists($this->getAdapter(), $currentMethodName);
            if ($isAdapterUserAgent) {
                $this->defaultUserAgent = $this->getAdapter()->$currentMethodName();
            } else {
                $defaultAgent = 'Swoft/' . App::version();
                if (! Coroutine::isSupportCoroutine() && \extension_loaded('curl') && \function_exists('curl_version')) {
                    $defaultAgent .= ' curl/' . \curl_version()['version'];
                }
                $defaultAgent .= ' PHP/' . PHP_VERSION;
                $this->defaultUserAgent = $defaultAgent;
            }
        }

        return $this->defaultUserAgent;
    }