sanchezzzhak / kak-clickhouse

Yii2 ext. ClickHouse
69 stars 43 forks source link

Add request config #23

Closed greywolfs closed 6 years ago

greywolfs commented 6 years ago

Добавил возможность передавать параметры в request. Например можно добавить timeout

'requestConfig' => [
        'class' => \kak\clickhouse\httpclient\Request::class,
        'options' => [
            CURLOPT_TIMEOUT => 2,
        ]
    ]
sanchezzzhak commented 6 years ago

Привет, я думаю лучше сделать по другому, например так Connection.php заменить requestClass

 public $requestConfig= [
        'class' => 'kak\clickhouse\httpclient\Request'
    ];

далее в метод open() подправить инициализацию

public function open()
    {
       //... 
        $this->_transport = new Client([
            'baseUrl'   => $url,
            'transport' => $this->transportClass,
            'requestConfig' => $this->requestConfig,
        ]);
    }

не нужен доп. метод/свойство + если в phpstorm стоит yii2-helper при заполнении конфига IDE будет подсказывать, какие свойства можно заполнить config/clickhouse.php

<?php
return [
    'class' => 'kak\clickhouse\Connection',
    'dsn' => 'localhost',
    'port' => '8123',
    'username' => 'test',
    'password' => 'test',
    'enableSchemaCache' => true,
    'schemaCache' => 'cache',
    'schemaCacheDuration' => 86400,
    'requestConfig' => [
        'class' => 'kak\clickhouse\httpclient\Request',
        'options' => [
            CURLOPT_TIMEOUT => 2,
        ],
    ],
];

Подправите ?

greywolfs commented 6 years ago

Я просто хотел оставить обратную совместимость. Вдруг уже кто-то использует RequestClass. )

greywolfs commented 6 years ago

Переделать? Пофиг на обратную совместимость?

sanchezzzhak commented 6 years ago

можно изменить

greywolfs commented 6 years ago

Готово