DrTeamRocks/uon

Новый метод

RichardFerlow opened this issue · 5 comments

в API еще есть поиск по e-mail

public function getEmail($email)
    {
        $endpoint = '/user/email';
        return $this->doRequest('post', $endpoint, ['email'=>$email]);
    }

И просьба добавить timeout к doRequest, а то если проблемы со связью то скрипты не отваливаются. вот в пятницу было.
Может их при необходимости через переменные настраивать, я нашел такие параметры 'connect_timeout' => , 'read_timeout' =>

Еще неплохо бы добавить туда же обработку исключений-ошибок, так как если по таймауту отвалится, то ошибку выдаст. не шарю в том как их обрабатывать =)

@RichardFerlow отличная идея! Посмотрю после работы что можно сделать.

@RichardFerlow добавил новый метод getEmail($email) в класс Users:
https://github.com/DrTeamRocks/uon/blob/master/src/Users.php#L78
https://github.com/DrTeamRocks/uon/releases/tag/1.6.6
С таймаутами не всё так просто, планирую добавить этот функционал в версии 1.7.

@RichardFerlow просто я сейчас как раз переписываю логику работы с классом, хочу добавить entrypoint единый, чтобы не создавать десяток объектов под все нужды. Вот пример того над чем я пока что работаю в свободное время:

$config = new \UON\Config();
$config->token = 'token';
$config->timeout = 10;

$uon = new \UON\API($config);

$request = $uon->requests->get('1234');
$updated = $uon->requests->getUpdated('2017-06-01', '2017-06-10');

Класс API будет всего лишь дополнением к остальным классам, то есть обратная совместимость сохранится. Плюс нужно добавить обработку Exceptions и т.д.

@RichardFerlow насчёт таймаута, посмотри релиз 1.7, теперь можно конфигурировать приложение отдельным классом, но немного иначе чем я писал ранее:

// Class with configuration options
$config = new \UON\Config();
$config
    ->set('token', 'some_token')
    ->set('timeout', 10);

// Main object for work with API
$uon = new \UON\API($config);

// Some examples
$users = $uon->users->all();            // Get a list of all users

Данное новшество совместимо с предыдущими версиями, но в 2.0 поддержка предефайненого UON_API_TOKEN будет удалена. Жду фидбэк 😄