Completed
Pull Request — master (#102)
by De Cramer
03:26
created

Http::call()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 4
crap 1
1
<?php
2
3
namespace eXpansion\Framework\Core\Helpers;
4
5
use eXpansion\Framework\Core\Helpers\JobRunner\Factory;
6
use oliverde8\AsynchronousJobs\JobRunner;
7
8
/**
9
 * Class Http
10
 *
11
 * @author    de Cramer Oliver<[email protected]>
12
 * @copyright 2017 Smile
13
 * @package eXpansion\Framework\Core\Helpers
14
 */
15
class Http {
16
17
    /** @var Factory */
18
    protected $factory;
19
20
    /**
21
     * Http constructor.
22
     *
23
     * @param Factory $factory
24
     */
25 1
    public function __construct(Factory $factory)
26
    {
27 1
        $this->factory = $factory;
28 1
    }
29
30
    /**
31
     * Make a http query.
32
     *
33
     * @param string $url
34
     * @param callable $callback
35
     * @param null|mixed $additionalData If you need to pass additional metadata.
36
     *                                   You will get this back in the callback.
37
     * @param array $options curl options array
38
     */
39 1
    public function call($url, $callback, $additionalData = null, $options = [])
40
    {
41 1
        $curlJob = $this->factory->createCurlJob($url, $callback, $additionalData, $options);
42
43
        // Start job execution.
44 1
        $this->factory->startJob($curlJob);
45 1
    }
46
}
47