Skip to content

Commit e9373fc

Browse files
committed
host query add error param
1 parent 915c93f commit e9373fc

File tree

4 files changed

+35
-12
lines changed

4 files changed

+35
-12
lines changed

src/Qiniu/Storage/FormUploader.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ public static function put(
4949
}
5050
}
5151

52-
$upHost = $config->zone->getUpHostByToken($upToken);
52+
list($upHost, $err) = $config->zone->getUpHostByToken($upToken);
53+
if ($err != null) {
54+
return array(null, $err);
55+
}
56+
5357
$response = Client::multipartPost($upHost, $fields, 'file', $fname, $data, $mime);
5458
if (!$response->ok()) {
5559
return array(null, new Error($upHost, $response));
@@ -99,7 +103,11 @@ public static function putFile(
99103
$fields['key'] = $key;
100104
$headers =array('Content-Type' => 'multipart/form-data');
101105

102-
$upHost = $config->zone->getUpHostByToken($upToken);
106+
list($upHost, $err) = $config->zone->getUpHostByToken($upToken);
107+
if ($err != null) {
108+
return array(null, $err);
109+
}
110+
103111
$response = client::post($upHost, $fields, $headers);
104112
if (!$response->ok()) {
105113
return array(null, new Error($upHost, $response));

src/Qiniu/Storage/ResumeUploader.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ public function __construct(
5454
$this->mime = $mime;
5555
$this->contexts = array();
5656
$this->config = $config;
57-
$this->host = $config->zone->getUpHostByToken($upToken);
57+
58+
list($upHost, $err) = $config->zone->getUpHostByToken($upToken);
59+
if ($err != null) {
60+
throw new \Exception($err, 1);
61+
}
62+
$this->host = $upHost;
5863
}
5964

6065
/**
@@ -76,7 +81,11 @@ public function upload()
7681
$ret = $response->json();
7782
}
7883
if ($response->statusCode < 0) {
79-
$this->host = $this->config->zone->getBackupUpHostByToken($this->upToken);
84+
list($bakHost, $err) = $this->config->zone->getBackupUpHostByToken($this->upToken);
85+
if ($err != null) {
86+
return array(null, $err);
87+
}
88+
$this->host = $bakHost;
8089
}
8190
if ($response->needRetry() || !isset($ret['crc32']) || $crc != $ret['crc32']) {
8291
$response = $this->makeBlock($data, $blockSize);

src/Qiniu/Zone.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,19 @@ public function __construct($scheme = null)
2828
public function getUpHostByToken($uptoken)
2929
{
3030
list($ak, $bucket) = $this->unmarshalUpToken($uptoken);
31-
list($upHosts,) = $this->getUpHosts($ak, $bucket);
32-
return $upHosts[0];
31+
// sssssssssssssssssssssssssss
32+
list($upHosts, $err) = $this->getUpHosts($ak, $bucket);
33+
return array($upHosts[0], $err);
3334
}
3435

3536
public function getBackupUpHostByToken($uptoken)
3637
{
3738
list($ak, $bucket) = $this->unmarshalUpToken($uptoken);
38-
list($upHosts,) = $this->getUpHosts($ak, $bucket);
39+
// sssssssssssssssssssssssssss
40+
list($upHosts, $err) = $this->getUpHosts($ak, $bucket);
3941

4042
$upHost = isset($upHosts[1]) ? $upHosts[1] : $upHosts[0];
41-
return $upHost;
43+
return array($upHost, $err);
4244
}
4345

4446
public function getIoHost($ak, $bucket)

tests/Qiniu/Tests/ZoneTest.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,25 @@ public function testUpHostByToken()
5858
3RzIjpbImh0dHA6XC9cL3VwLXoxLnFpbml1LmNvbSIsImh0dHA6XC9cL3VwbG9hZC16MS5xaW5p
5959
dS5jb20iLCItSCB1cC16MS5xaW5pdS5jb20gaHR0cDpcL1wvMTA2LjM4LjIyNy4yNyJdfQ==';
6060

61-
$upHost = $this->zone->getUpHostByToken($uptoken_bc);
61+
list($upHost, $err) = $this->zone->getUpHostByToken($uptoken_bc);
6262
$this->assertEquals('http://up-z1.qiniu.com', $upHost);
63+
$this->assertEquals(null, $err);
6364

64-
$upHostBackup = $this->zone->getBackupUpHostByToken($uptoken_bc);
65+
list($upHostBackup, $err) = $this->zone->getBackupUpHostByToken($uptoken_bc);
6566
$this->assertEquals('http://upload-z1.qiniu.com', $upHostBackup);
67+
$this->assertEquals(null, $err);
6668

6769

6870
$uptoken_bc_https = 'QWYn5TFQsLLU1pL5MFEmX3s5DmHdUThav9WyOWOm:7I47O-vFcN5TKO
6971
6D7cobHPVkyIA=:eyJzY29wZSI6InBocHNkay1iYyIsImRlYWRsaW5lIjoxNDcwNzIyNzQ1LCJ1c
7072
Ehvc3RzIjpbImh0dHBzOlwvXC91cC16MS5xYm94Lm1lIl19';
71-
$upHost = $this->zoneHttps->getUpHostByToken($uptoken_bc_https);
73+
list($upHost, $err) = $this->zoneHttps->getUpHostByToken($uptoken_bc_https);
7274
$this->assertEquals('https://up-z1.qbox.me', $upHost);
75+
$this->assertEquals(null, $err);
7376

74-
$upHostBackup = $this->zoneHttps->getBackupUpHostByToken($uptoken_bc_https);
77+
list($upHostBackup, $err) = $this->zoneHttps->getBackupUpHostByToken($uptoken_bc_https);
7578
$this->assertEquals('https://up-z1.qbox.me', $upHostBackup);
79+
$this->assertEquals(null, $err);
7680
}
7781

7882
public function testIoHosts()

0 commit comments

Comments
 (0)