Skip to content

Commit c087705

Browse files
author
YangSen-qn
committed
change path add segment
1 parent a838948 commit c087705

12 files changed

+64
-55
lines changed

src/main/java/com/qiniu/storage/Api.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,13 @@ protected Request(String urlPrefix) {
403403
this.scheme = url.getProtocol();
404404
this.host = url.getHost();
405405
this.port = url.getPort();
406-
this.addPathSegment(url.getPath());
406+
407+
// segment 不包含左边的 /, 截掉左边第一个 /
408+
String segment = url.getPath();
409+
if (segment != null && segment.startsWith("/")) {
410+
segment = segment.substring(1);
411+
}
412+
this.addPathSegment(segment);
407413

408414
String query = url.getQuery();
409415
if (StringUtils.isNullOrEmpty(query)) {
@@ -506,7 +512,10 @@ public String getPath() throws QiniuException {
506512
* @throws QiniuException 组装 query 时的异常,一般为缺失必要参数的异常
507513
*/
508514
protected void buildPath() throws QiniuException {
509-
path = StringUtils.join(pathSegments, "");
515+
path = StringUtils.join(pathSegments, "/");
516+
if (!path.isEmpty()) {
517+
path = "/" + path;
518+
}
510519
}
511520

512521

src/main/java/com/qiniu/storage/ApiQueryRegion.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ protected void buildQuery() throws QiniuException {
8787

8888
@Override
8989
protected void buildPath() throws QiniuException {
90-
addPathSegment("/v4");
91-
addPathSegment("/query");
90+
addPathSegment("v4");
91+
addPathSegment("query");
9292
super.buildPath();
9393
}
9494
}

src/main/java/com/qiniu/storage/ApiUploadV1MakeBlock.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ protected void buildPath() throws QiniuException {
135135
ApiUtils.throwInvalidRequestParamException("block size");
136136
}
137137

138-
addPathSegment("/mkblk");
139-
addPathSegment("/" + blockSize);
138+
addPathSegment("mkblk");
139+
addPathSegment("" + blockSize);
140140
super.buildPath();
141141
}
142142

src/main/java/com/qiniu/storage/ApiUploadV1MakeFile.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -171,35 +171,35 @@ protected void buildPath() throws QiniuException {
171171
ApiUtils.throwInvalidRequestParamException("file size");
172172
}
173173

174-
addPathSegment("/mkfile");
175-
addPathSegment("/" + fileSize);
174+
addPathSegment("mkfile");
175+
addPathSegment("" + fileSize);
176176

177177
if (!StringUtils.isNullOrEmpty(fileMimeType)) {
178-
addPathSegment("/mimeType");
179-
addPathSegment("/" + UrlSafeBase64.encodeToString(fileMimeType));
178+
addPathSegment("mimeType");
179+
addPathSegment(UrlSafeBase64.encodeToString(fileMimeType));
180180
}
181181

182182
if (!StringUtils.isNullOrEmpty(fileName)) {
183-
addPathSegment("/fname");
184-
addPathSegment("/" + UrlSafeBase64.encodeToString(fileName));
183+
addPathSegment("fname");
184+
addPathSegment(UrlSafeBase64.encodeToString(fileName));
185185
}
186186

187187
if (key != null) {
188-
addPathSegment("/key");
189-
addPathSegment("/" + UrlSafeBase64.encodeToString(key));
188+
addPathSegment("key");
189+
addPathSegment(UrlSafeBase64.encodeToString(key));
190190
}
191191

192192
if (params != null && !params.isEmpty()) {
193193
for (String key : params.keySet()) {
194-
addPathSegment("/" + key);
195-
addPathSegment("/" + UrlSafeBase64.encodeToString("" + params.get(key)));
194+
addPathSegment(key);
195+
addPathSegment(UrlSafeBase64.encodeToString("" + params.get(key)));
196196
}
197197
}
198198

199199
if (metaDataParam != null && !metaDataParam.isEmpty()) {
200200
for (String key : metaDataParam.keySet()) {
201-
addPathSegment("/" + key);
202-
addPathSegment("/" + UrlSafeBase64.encodeToString("" + metaDataParam.get(key)));
201+
addPathSegment(key);
202+
addPathSegment(UrlSafeBase64.encodeToString("" + metaDataParam.get(key)));
203203
}
204204
}
205205

src/main/java/com/qiniu/storage/ApiUploadV1PutChunk.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ protected void buildPath() throws QiniuException {
140140
ApiUtils.throwInvalidRequestParamException("block last context");
141141
}
142142

143-
addPathSegment("/bput");
144-
addPathSegment("/" + blockLastContext);
145-
addPathSegment("/" + chunkOffset);
143+
addPathSegment("bput");
144+
addPathSegment(blockLastContext);
145+
addPathSegment("" + chunkOffset);
146146
super.buildPath();
147147
}
148148

src/main/java/com/qiniu/storage/ApiUploadV2AbortUpload.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ protected void buildPath() throws QiniuException {
113113
}
114114

115115
String bucket = token.getBucket();
116-
addPathSegment("/buckets");
117-
addPathSegment("/" + bucket);
118-
addPathSegment("/objects");
119-
addPathSegment("/" + ApiUtils.resumeV2EncodeKey(key));
120-
addPathSegment("/uploads");
121-
addPathSegment("/" + uploadId);
116+
addPathSegment("buckets");
117+
addPathSegment(bucket);
118+
addPathSegment("objects");
119+
addPathSegment(ApiUtils.resumeV2EncodeKey(key));
120+
addPathSegment("uploads");
121+
addPathSegment(uploadId);
122122
super.buildPath();
123123
}
124124
}

src/main/java/com/qiniu/storage/ApiUploadV2CompleteUpload.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,12 @@ protected void buildPath() throws QiniuException {
191191
}
192192

193193
String bucket = token.getBucket();
194-
addPathSegment("/buckets");
195-
addPathSegment("/" + bucket);
196-
addPathSegment("/objects");
197-
addPathSegment("/" + ApiUtils.resumeV2EncodeKey(key));
198-
addPathSegment("/uploads");
199-
addPathSegment("/" + uploadId);
194+
addPathSegment("buckets");
195+
addPathSegment(bucket);
196+
addPathSegment("objects");
197+
addPathSegment(ApiUtils.resumeV2EncodeKey(key));
198+
addPathSegment("uploads");
199+
addPathSegment(uploadId);
200200
super.buildPath();
201201
}
202202

src/main/java/com/qiniu/storage/ApiUploadV2InitUpload.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ protected void buildPath() throws QiniuException {
105105
}
106106

107107
String bucket = getUploadToken().getBucket();
108-
addPathSegment("/buckets");
109-
addPathSegment("/" + bucket);
110-
addPathSegment("/objects");
111-
addPathSegment("/" + ApiUtils.resumeV2EncodeKey(key));
112-
addPathSegment("/uploads");
108+
addPathSegment("buckets");
109+
addPathSegment(bucket);
110+
addPathSegment("objects");
111+
addPathSegment(ApiUtils.resumeV2EncodeKey(key));
112+
addPathSegment("uploads");
113113
super.buildPath();
114114
}
115115
}

src/main/java/com/qiniu/storage/ApiUploadV2ListParts.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,12 @@ protected void buildPath() throws QiniuException {
152152
}
153153

154154
String bucket = token.getBucket();
155-
addPathSegment("/buckets");
156-
addPathSegment("/" + bucket);
157-
addPathSegment("/objects");
158-
addPathSegment("/" + ApiUtils.resumeV2EncodeKey(key));
159-
addPathSegment("/uploads");
160-
addPathSegment("/" + uploadId);
155+
addPathSegment("buckets");
156+
addPathSegment(bucket);
157+
addPathSegment("objects");
158+
addPathSegment(ApiUtils.resumeV2EncodeKey(key));
159+
addPathSegment("uploads");
160+
addPathSegment(uploadId);
161161
super.buildPath();
162162
}
163163
}

src/main/java/com/qiniu/storage/ApiUploadV2UploadPart.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,13 @@ protected void buildPath() throws QiniuException {
162162
}
163163

164164
String bucket = getUploadToken().getBucket();
165-
addPathSegment("/buckets");
166-
addPathSegment("/" + bucket);
167-
addPathSegment("/objects");
168-
addPathSegment("/" + ApiUtils.resumeV2EncodeKey(key));
169-
addPathSegment("/uploads");
170-
addPathSegment("/" + uploadId);
171-
addPathSegment("/" + partNumber);
165+
addPathSegment("buckets");
166+
addPathSegment(bucket);
167+
addPathSegment("objects");
168+
addPathSegment(ApiUtils.resumeV2EncodeKey(key));
169+
addPathSegment("uploads");
170+
addPathSegment(uploadId);
171+
addPathSegment("" + partNumber);
172172
super.buildPath();
173173
}
174174

src/main/java/com/qiniu/storage/DownloadPrivateCloudUrl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ protected void willBuildUrl() throws QiniuException {
6060

6161
@Override
6262
protected void willSetKeyForUrl(Api.Request request) throws QiniuException {
63-
request.addPathSegment("/getfile");
64-
request.addPathSegment("/" + accessKey);
65-
request.addPathSegment("/" + bucketName);
63+
request.addPathSegment("getfile");
64+
request.addPathSegment(accessKey);
65+
request.addPathSegment(bucketName);
6666
super.willSetKeyForUrl(request);
6767
}
6868

src/main/java/com/qiniu/storage/DownloadUrl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public String buildURL() throws QiniuException {
159159
}
160160
}
161161
if (!StringUtils.isNullOrEmpty(keyAndStyle)) {
162-
request.addPathSegment("/" + keyAndStyle);
162+
request.addPathSegment(keyAndStyle);
163163
}
164164
didSetKeyForUrl(request);
165165

0 commit comments

Comments
 (0)