Как внутри yii2 сделать запрос на centrifugo?

Использую docker в котором подключено centrifugo. Через postman делаю запрос и все ок
curl --location 'http://localhost:8000/api' \
--header 'Authorization: apikey my_api_key' \
--header 'Content-Type: application/json' \
--data '{
    "method": "publish",
    "params": {
        "channel": "gnRvZBqyCyISSIIQyPdHxKOQkg_1SOuSABLUwWF0RbgeZDs_LSQNOnF-2_wpONqRTxyrkMwyzwMIZa4hew4vypU50gF0ZzW8BHA3",
        "data": {"type": "input-set-name", "uid": "onlineCurator"}
    }
}'


И получаю такой ответ {}
Когда делаю уже через yii2
try {
                $client = new Client();
                $response = $client->createRequest()->setMethod('post');
                $response->addHeaders(['Authorization' => 'apikey ' . $this->apikey])
                    ->setFormat(\yii\web\Response::FORMAT_JSON)
                    ->setData($_data);
                $response->setUrl('http://localhost:8000/api');
                var_dump($response->send()); die();
            } catch (\Throwable $e) {
                var_dump($e); die();
            }

То получаю в ответ fopen(localhost:8000/api): Failed to open stream: Connection refused
Не пойму в чем дело
  • Вопрос задан
  • 19 просмотров
Решения вопроса 1
@rusline18 Автор вопроса
Нашел решение. Во первых я в docker-compose объединил network все контейнеры, что у них была одна сеть и я мог обращаться к соседней сети

Дальше я вместо url localhost:8000/api поменял на название контейнера и получился адрес centrifugo:8000/api. И все теперь заработало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы