Skip to content

Commit 19f4ac2

Browse files
gabrielhandelandbaywet
authored andcommitted
set url to stripped path
Signed-off-by: Vincent Biret <vibiret@microsoft.com> - adds unit test for batch content url replacement
1 parent 846e747 commit 19f4ac2

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/content/BatchRequestContent.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,8 @@ export class BatchRequestContent {
198198
const requestData: RequestData = {
199199
url: "",
200200
};
201-
const hasHttpRegex = new RegExp("^https?://");
202201
// Stripping off hostname, port and url scheme
203-
requestData.url = hasHttpRegex.test(request.url) ? "/" + request.url.split(/.*?\/\/.*?\//)[1] : request.url;
202+
requestData.url = request.url.replace(/^(?:http)?s?:?(?:\/\/)?[^\/]+\/(?:v1.0|beta)?/i, ''); // replaces <scheme>?<?>?<//><hostname:port>+</>?<version>+ by an empty string
204203
requestData.method = request.method;
205204
const headers = {};
206205
request.headers.forEach((value, key) => {

test/common/content/BatchRequestContent.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,14 @@ describe("BatchRequestContent.ts", () => {
213213
assert.isDefined(content.requests[0].body);
214214
assert.equal(typeof content.requests[0].body, "object");
215215
});
216+
217+
it("Should parse path with url", async () => {
218+
const req = getCreateFolderRequestCopy();
219+
req.request = new Request("https://graph.microsoft.com/v1.0" + req.request.url);
220+
const batchReq = new BatchRequestContent([req]);
221+
const content = await batchReq.getContent();
222+
assert.equal(content.requests[0].url, "/me/drive/root/children");
223+
});
216224
});
217225

218226
describe("removeDependency", function() {

0 commit comments

Comments
 (0)