Skip to content

Commit e6aab6e

Browse files
committed
rm rs client
1 parent 83793e1 commit e6aab6e

File tree

7 files changed

+152
-248
lines changed

7 files changed

+152
-248
lines changed

qiniu/http.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ function Qiniu_Client_CallNoRet($self, $url) // => $error
211211
return Qiniu_ResponseError($resp);
212212
}
213213

214-
function Qiniu_Client_CallWithForm($self, $url, $params) // => $error
214+
function Qiniu_Client_CallWithForm($self, $url, $params) // => ($data, $error)
215215
{
216216
$u = array('path' => $url);
217217
if (is_array($params)) {

qiniu/rs.php

Lines changed: 124 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,23 +83,142 @@ public function Token($mac) // => $token
8383
}
8484
}
8585

86+
// ----------------------------------------------------------
87+
// class Qiniu_RS_EntryPath
88+
89+
class Qiniu_RS_EntryPath
90+
{
91+
public $bucket;
92+
public $key;
93+
public function __construct($bucket, $key)
94+
{
95+
$this->bucket = $bucket;
96+
$this->key = $key;
97+
}
98+
}
99+
100+
// ----------------------------------------------------------
101+
// class Qiniu_RS_EntryPathPair
102+
103+
class Qiniu_RS_EntryPathPair
104+
{
105+
public $src;
106+
public $dest;
107+
public function __construct($src, $dest)
108+
{
109+
$this->src = $src;
110+
$this->dest = $dest;
111+
}
112+
}
113+
86114
// ----------------------------------------------------------
87115

88116
function Qiniu_RS_Stat($self, $bucket, $key) // => ($statRet, $error)
89117
{
90118
global $QINIU_RS_HOST;
91-
92-
$entryURIEncoded = Qiniu_Encode("$bucket:$key");
93-
return Qiniu_Client_Call($self, "$QINIU_RS_HOST/stat/$entryURIEncoded");
119+
return Qiniu_Client_Call($self, $QINIU_RS_HOST . Qiniu_RS_URIStat($bucket, $key));
94120
}
95121

96122
function Qiniu_RS_Delete($self, $bucket, $key) // => $error
97123
{
98124
global $QINIU_RS_HOST;
125+
return Qiniu_Client_CallNoRet($self, $QINIU_RS_HOST . Qiniu_RS_URIDelete($bucket, $key));
126+
}
127+
128+
129+
function Qiniu_RS_Move($self, $bucketSrc, $keySrc, $bucketDest, $keyDest) // => $error
130+
{
131+
global $QINIU_RS_HOST;
132+
return Qiniu_Client_CallNoRet($self, "$QINIU_RS_HOST".Qiniu_RS_URIMove($bucketSrc, $keySrc, $bucketDest, $keyDest));
133+
}
134+
135+
function Qiniu_RS_Copy($self, $bucketSrc, $keySrc, $bucketDest, $keyDest) // => $error
136+
{
137+
global $QINIU_RS_HOST;
138+
return Qiniu_Client_CallNoRet($self, "$QINIU_RS_HOST".Qiniu_RS_URICopy($bucketSrc, $keySrc, $bucketDest, $keyDest));
139+
}
140+
141+
142+
// ----------------------------------------------------------
143+
//batch
144+
145+
function Qiniu_RS_Batch($self, $url) // => ($data, $error)
146+
{
147+
global $QINIU_RS_HOST;
148+
return Qiniu_Client_CallWithForm($self, $QINIU_RS_HOST . "/batch?", $url);
149+
}
150+
151+
function Qiniu_RS_BatchStat($self, $entryPaths)
152+
{
153+
$params = '';
154+
foreach ($entryPaths as $entryPath) {
155+
if ($params === '') {
156+
$params = 'op=' . Qiniu_RS_URIStat($entryPath->bucket, $entryPath->key);
157+
continue;
158+
}
159+
$params .= '&op=' . Qiniu_RS_URIStat($entryPath->bucket, $entryPath->key);
160+
}
161+
return Qiniu_RS_Batch($self,$params);
162+
}
163+
164+
function Qiniu_RS_BatchDelete($self, $entryPaths)
165+
{
166+
$params = '';
167+
foreach ($entryPaths as $entryPath) {
168+
if ($params == '') {
169+
$params = 'op=' . Qiniu_RS_URIDelete($entryPath->bucket, $entryPath->key);
170+
continue;
171+
}
172+
$params .= '&op=' . Qiniu_RS_URIDelete($entryPath->bucket, $entryPath->key);
173+
}
174+
return Qiniu_RS_Batch($self, $params);
175+
}
99176

100-
$entryURIEncoded = Qiniu_Encode("$bucket:$key");
101-
return Qiniu_Client_CallNoRet($self, "$QINIU_RS_HOST/delete/$entryURIEncoded");
177+
function Qiniu_RS_BatchMove($self, $entryPairs)
178+
{
179+
$params = '';
180+
foreach ($entryPairs as $entryPair) {
181+
if ($params == '') {
182+
$params = 'op=' . Qiniu_RS_URIMove($entryPair->src->bucket, $entryPair->src->key, $entryPair->dest->bucket, $entryPair->dest->key);
183+
continue;
184+
}
185+
$params .= '&op=' . Qiniu_RS_URIMove($entryPair->src->bucket, $entryPair->src->key, $entryPair->dest->bucket, $entryPair->dest->key);
186+
}
187+
return Qiniu_RS_Batch($self, $params);
102188
}
103189

190+
function Qiniu_RS_BatchCopy($self, $entryPairs)
191+
{
192+
$params = '';
193+
foreach ($entryPairs as $entryPair) {
194+
if ($params == '') {
195+
$params = 'op=' . Qiniu_RS_URICopy($entryPair->src->bucket, $entryPair->src->key, $entryPair->dest->bucket, $entryPair->dest->key);
196+
continue;
197+
}
198+
$params .= '&op=' . Qiniu_RS_URICopy($entryPair->src->bucket, $entryPair->src->key, $entryPair->dest->bucket, $entryPair->dest->key);
199+
}
200+
return Qiniu_RS_Batch($self, $params);
201+
}
202+
203+
104204
// ----------------------------------------------------------
105205

206+
function Qiniu_RS_URIStat($bucket, $key) // => $entryURIEncoded
207+
{
208+
return "/stat/" . Qiniu_Encode("$bucket:$key");
209+
}
210+
211+
function Qiniu_RS_URIDelete($bucket, $key)
212+
{
213+
return "/delete/" . Qiniu_Encode("$bucket:$key");
214+
}
215+
216+
function Qiniu_RS_URICopy($bucketSrc, $keySrc, $bucketDest, $keyDest)
217+
{
218+
return "/copy/" . Qiniu_Encode("$bucketSrc:$keySrc") . "/" . Qiniu_Encode("$bucketDest:$keyDest");
219+
}
220+
221+
function Qiniu_RS_URIMove($bucketSrc, $keySrc, $bucketDest, $keyDest)
222+
{
223+
return "/move/" . Qiniu_Encode("$bucketSrc:$keySrc") . "/" . Qiniu_Encode("$bucketDest:$keyDest");
224+
}

qiniu/rs_api.php

Lines changed: 0 additions & 145 deletions
This file was deleted.

qiniu/rsf.php

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,37 @@
99
class Qiniu_RSF_Client
1010
{
1111
public $Conn;
12+
const EOF = 'EOF';
13+
1214
public function __construct($mac)
1315
{
1416
$this->Conn = new Qiniu_Client($mac);
1517
}
16-
17-
public function ListPrefix($bucket, $prefix, $marker, $limit)
18+
19+
/**
20+
* 1. 首次请求 marker = ""
21+
* 2. 无论 err 值如何,均应该先看 entries 是否有内容
22+
* 3. 如果后续没有更多数据,err 返回 EOF,markerOut 返回 ""(但不通过该特征来判断是否结束)
23+
*/
24+
public function ListPrefix($bucket, $prefix, $marker, $limit) // => ($ret => array('items' => items, 'marker': markerOut), $err)
1825
{
1926
global $QINIU_RSF_HOST;
2027
$query = array("bucket" => $bucket);
21-
if (isset($prefix)) {
28+
if (!empty($prefix)) {
2229
$query["prefix"] = $prefix;
2330
}
24-
if (isset($marker)) {
31+
if (!empty($marker)) {
2532
$query["marker"] = $marker;
2633
}
2734
if (isset($limit)) {
2835
$query["limit"] = $limit;
2936
}
30-
31-
return Qiniu_Client_Call($this->Conn, $QINIU_RSF_HOST . "/list?" . http_build_query($query));
37+
38+
list($ret, $err) = Qiniu_Client_Call($this->Conn, $QINIU_RSF_HOST . "/list?" . http_build_query($query));
39+
if (!isset($ret['marker'])) {
40+
$err = self::EOF;
41+
}
42+
return array($ret, $err);
3243
}
33-
34-
}
44+
45+
}

0 commit comments

Comments
 (0)