private function getMetadataToken()

in src/Providers/EcsRamRoleCredentialsProvider.php [216:233]


    private function getMetadataToken()
    {
        $url = $this->metadataHost . $this->metadataTokenUri;
        $options = Request::commonOptions();
        $options['read_timeout'] = $this->readTimeout;
        $options['connect_timeout'] = $this->connectTimeout;
        $options['headers']['X-aliyun-ecs-metadata-token-ttl-seconds'] = $this->metadataTokenDuration;

        $result = Request::createClient()->request('PUT', $url, $options);

        if ($result->getStatusCode() != 200) {
            if ($this->disableIMDSv1) {
                throw new RuntimeException('Failed to get token from ECS Metadata Service. HttpCode= ' . $result->getStatusCode());
            }
            return null;
        }
        return (string) $result;
    }