Completed
Push — master ( f18dcd...2545e4 )
by r
14:31 queued 12:47
created

Region::qvmRegionHuadong()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
1
<?php
2
namespace Qiniu;
3
4
use Qiniu\Http\Client;
5
use Qiniu\Http\Error;
6
7
class Region
8
{
9
10
    //源站上传域名
11
    public $srcUpHosts;
12
    //CDN加速上传域名
13
    public $cdnUpHosts;
14
    //资源管理域名
15
    public $rsHost;
16
    //资源列举域名
17
    public $rsfHost;
18
    //资源处理域名
19
    public $apiHost;
20
    //IOVIP域名
21
    public $iovipHost;
22
23
    //构造一个Region对象
24
    public function __construct(
25
        $srcUpHosts = array(),
26
        $cdnUpHosts = array(),
27
        $rsHost = "rs.qiniu.com",
28
        $rsfHost = "rsf.qiniu.com",
29
        $apiHost = "api.qiniu.com",
30
        $iovipHost = null
31
    ) {
32
33
        $this->srcUpHosts = $srcUpHosts;
34
        $this->cdnUpHosts = $cdnUpHosts;
35
        $this->rsHost = $rsHost;
36
        $this->rsfHost = $rsfHost;
37
        $this->apiHost = $apiHost;
38
        $this->iovipHost = $iovipHost;
39
    }
40
41
    //华东机房
42
    public static function regionHuadong()
43
    {
44
        $regionHuadong = new Region(
45
            array("up.qiniup.com", 'up-jjh.qiniup.com', 'up-xs.qiniup.com'),
46
            array('upload.qiniup.com', 'upload-jjh.qiniup.com', 'upload-xs.qiniup.com'),
47
            'rs.qbox.me',
48
            'rsf.qbox.me',
49
            'api.qiniu.com',
50
            'iovip.qbox.me'
51
        );
52
        return $regionHuadong;
53
    }
54
55
    //华东机房内网上传
56
    public static function qvmRegionHuadong()
57
    {
58
        $qvmRegionHuadong = new Region(
59
            array("free-qvm-z0-xs.qiniup.com"),
60
            'rs.qbox.me',
0 ignored issues
show
Documentation introduced by
'rs.qbox.me' is of type string, but the function expects a array.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
61
            'rsf.qbox.me',
62
            'api.qiniu.com',
63
            'iovip.qbox.me'
64
        );
65
        return $qvmRegionHuadong;
66
    }
67
68
    //华北机房内网上传
69
    public static function qvmRegionHuabei()
70
    {
71
        $qvmRegionHuabei = new Region(
72
            array("free-qvm-z1-zz.qiniup.com"),
73
            "rs-z1.qbox.me",
0 ignored issues
show
Documentation introduced by
'rs-z1.qbox.me' is of type string, but the function expects a array.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
74
            "rsf-z1.qbox.me",
75
            "api-z1.qiniu.com",
76
            "iovip-z1.qbox.me"
77
        );
78
        return $qvmRegionHuabei;
79
    }
80
81
    //华北机房
82
    public static function regionHuabei()
83
    {
84
        $regionHuabei = new Region(
85
            array('up-z1.qiniup.com'),
86
            array('upload-z1.qiniup.com'),
87
            "rs-z1.qbox.me",
88
            "rsf-z1.qbox.me",
89
            "api-z1.qiniu.com",
90
            "iovip-z1.qbox.me"
91
        );
92
93
        return $regionHuabei;
94
    }
95
96
    //华南机房
97
    public static function regionHuanan()
98
    {
99
        $regionHuanan = new Region(
100
            array('up-z2.qiniup.com', 'up-dg.qiniup.com', 'up-fs.qiniup.com'),
101
            array('upload-z2.qiniup.com', 'upload-dg.qiniup.com', 'upload-fs.qiniup.com'),
102
            "rs-z2.qbox.me",
103
            "rsf-z2.qbox.me",
104
            "api-z2.qiniu.com",
105
            "iovip-z2.qbox.me"
106
        );
107
        return $regionHuanan;
108
    }
109
110
    //北美机房
111
    public static function regionNorthAmerica()
112
    {
113
        //北美机房
114
        $regionNorthAmerica = new Region(
115
            array('up-na0.qiniup.com'),
116
            array('upload-na0.qiniup.com'),
117
            "rs-na0.qbox.me",
118
            "rsf-na0.qbox.me",
119
            "api-na0.qiniu.com",
120
            "iovip-na0.qbox.me"
121
        );
122
        return $regionNorthAmerica;
123
    }
124
125
    //新加坡机房
126
    public static function regionSingapore()
127
    {
128
        //新加坡机房
129
        $regionSingapore = new Region(
130
            array('up-as0.qiniup.com'),
131
            array('upload-as0.qiniup.com'),
132
            "rs-as0.qbox.me",
133
            "rsf-as0.qbox.me",
134
            "api-as0.qiniu.com",
135
            "iovip-as0.qbox.me"
136
        );
137
        return $regionSingapore;
138
    }
139
140
    /*
141
     * GET /v2/query?ak=<ak>&&bucket=<bucket>
142
     **/
143
    public static function queryRegion($ak, $bucket)
144
    {
145
        $Region = new Region();
146
        $url = Config::API_HOST . '/v2/query' . "?ak=$ak&bucket=$bucket";
147
        $ret = Client::Get($url);
148
        if (!$ret->ok()) {
149
            return array(null, new Error($url, $ret));
150
        }
151
        $r = ($ret->body === null) ? array() : $ret->json();
152
        //parse Region;
153
154
        $iovipHost = $r['io']['src']['main'][0];
155
        $Region->iovipHost = $iovipHost;
156
        $accMain = $r['up']['acc']['main'][0];
157
        array_push($Region->cdnUpHosts, $accMain);
158
        if (isset($r['up']['acc']['backup'])) {
159
            foreach ($r['up']['acc']['backup'] as $key => $value) {
160
                array_push($Region->cdnUpHosts, $value);
161
            }
162
        }
163
        $srcMain = $r['up']['src']['main'][0];
164
        array_push($Region->srcUpHosts, $srcMain);
165
        if (isset($r['up']['src']['backup'])) {
166
            foreach ($r['up']['src']['backup'] as $key => $value) {
167
                array_push($Region->srcUpHosts, $value);
168
            }
169
        }
170
171
        //set specific hosts
172
        if (strstr($Region->iovipHost, "z1") !== false) {
173
            $Region->rsHost = "rs-z1.qbox.me";
174
            $Region->rsfHost = "rsf-z1.qbox.me";
175
            $Region->apiHost = "api-z1.qiniu.com";
176
        } elseif (strstr($Region->iovipHost, "z2") !== false) {
177
            $Region->rsHost = "rs-z2.qbox.me";
178
            $Region->rsfHost = "rsf-z2.qbox.me";
179
            $Region->apiHost = "api-z2.qiniu.com";
180
        } elseif (strstr($Region->iovipHost, "na0") !== false) {
181
            $Region->rsHost = "rs-na0.qbox.me";
182
            $Region->rsfHost = "rsf-na0.qbox.me";
183
            $Region->apiHost = "api-na0.qiniu.com";
184
        } elseif (strstr($Region->iovipHost, "as0") !== false) {
185
            $Region->rsHost = "rs-as0.qbox.me";
186
            $Region->rsfHost = "rsf-as0.qbox.me";
187
            $Region->apiHost = "api-as0.qiniu.com";
188
        } else {
189
            $Region->rsHost = "rs.qbox.me";
190
            $Region->rsfHost = "rsf.qbox.me";
191
            $Region->apiHost = "api.qiniu.com";
192
        }
193
194
        return $Region;
195
    }
196
}
197