Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 951 Bytes

propagating-context.md

File metadata and controls

32 lines (25 loc) · 951 Bytes

Propagating context in HTTP requests

namespace App\Controller;

use Instrumentation\Http\PropagationHeadersProvider;
use Instrumentation\Http\PropagatingHttpClientFactory;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;

class TestHttpClient
{
    public function __invoke(Request $request): JsonResponse
    {        
        $client = HttpClient::create();
        $info = $client->request(
            'GET', 
            'http://worldtimeapi.org/api/timezone/Europe/Paris',
            ['headers' => PropagationHeadersProvider::getPropagationHeaders()]
        )->toArray();
        
        // OR
        
        $client = PropagatingHttpClientFactory::getClient();
        $info = $client->request('GET', 'http://worldtimeapi.org/api/timezone/Europe/Paris')->toArray();
        
        
        return new JsonResponse($info);
    }
}