@fluidframework/odsp-urlresolver 2.0.0-internal.7.2.2 → 2.0.0-internal.7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -2
- package/api-extractor-lint.json +13 -0
- package/api-extractor.json +12 -0
- package/api-report/odsp-urlresolver.api.md +24 -0
- package/dist/{index.js → index.cjs} +2 -2
- package/dist/index.cjs.map +1 -0
- package/dist/odsp-urlresolver-alpha.d.ts +9 -0
- package/dist/odsp-urlresolver-beta.d.ts +15 -0
- package/dist/odsp-urlresolver-public.d.ts +15 -0
- package/dist/odsp-urlresolver-untrimmed.d.ts +20 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/{urlResolver.js → urlResolver.cjs} +9 -1
- package/dist/urlResolver.cjs.map +1 -0
- package/dist/urlResolver.d.ts +8 -0
- package/dist/urlResolver.d.ts.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/{index.js → index.mjs} +2 -2
- package/lib/index.mjs.map +1 -0
- package/lib/odsp-urlresolver-alpha.d.ts +9 -0
- package/lib/odsp-urlresolver-beta.d.ts +15 -0
- package/lib/odsp-urlresolver-public.d.ts +15 -0
- package/lib/odsp-urlresolver-untrimmed.d.ts +20 -0
- package/lib/urlResolver.d.ts +8 -0
- package/lib/urlResolver.d.ts.map +1 -1
- package/lib/{urlResolver.js → urlResolver.mjs} +9 -1
- package/lib/urlResolver.mjs.map +1 -0
- package/package.json +44 -21
- package/src/urlResolver.ts +8 -0
- package/tsc-multi.test.json +4 -0
- package/tsconfig.json +5 -3
- package/dist/index.js.map +0 -1
- package/dist/urlResolver.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/urlResolver.js.map +0 -1
- package/tsconfig.esnext.json +0 -7
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -32,8 +32,7 @@ package for more information including tools to convert between version schemes.
|
|
|
32
32
|
|
|
33
33
|
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
|
|
34
34
|
|
|
35
|
-
Use of these trademarks or logos must follow Microsoft's [Trademark & Brand
|
|
36
|
-
Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
|
35
|
+
Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
|
37
36
|
|
|
38
37
|
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
|
|
39
38
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-lint.json",
|
|
4
|
+
"messages": {
|
|
5
|
+
"extractorMessageReporting": {
|
|
6
|
+
// TODO: remove once base config has this enabled as an error
|
|
7
|
+
"ae-incompatible-release-tags": {
|
|
8
|
+
"logLevel": "error",
|
|
9
|
+
"addToApiReportFile": false
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-base.json",
|
|
4
|
+
"messages": {
|
|
5
|
+
"extractorMessageReporting": {
|
|
6
|
+
// TODO: Add missing documentation and remove this rule override
|
|
7
|
+
"ae-undocumented": {
|
|
8
|
+
"logLevel": "none"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## API Report File for "@fluidframework/odsp-urlresolver"
|
|
2
|
+
|
|
3
|
+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
|
|
7
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
8
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
9
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
10
|
+
|
|
11
|
+
// @internal
|
|
12
|
+
export const isOdspUrl: (url: string) => boolean;
|
|
13
|
+
|
|
14
|
+
// @internal (undocumented)
|
|
15
|
+
export class OdspUrlResolver implements IUrlResolver {
|
|
16
|
+
// (undocumented)
|
|
17
|
+
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
18
|
+
// (undocumented)
|
|
19
|
+
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// (No @packageDocumentation comment for this package)
|
|
23
|
+
|
|
24
|
+
```
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.OdspUrlResolver = exports.isOdspUrl = void 0;
|
|
8
|
-
var urlResolver_1 = require("./urlResolver");
|
|
8
|
+
var urlResolver_1 = require("./urlResolver.cjs");
|
|
9
9
|
Object.defineProperty(exports, "isOdspUrl", { enumerable: true, get: function () { return urlResolver_1.isOdspUrl; } });
|
|
10
10
|
Object.defineProperty(exports, "OdspUrlResolver", { enumerable: true, get: function () { return urlResolver_1.OdspUrlResolver; } });
|
|
11
|
-
//# sourceMappingURL=index.
|
|
11
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAA2D;AAAlD,wGAAA,SAAS,OAAA;AAAE,8GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: isOdspUrl */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
8
|
+
|
|
9
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: IRequest */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IResolvedUrl */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: isOdspUrl */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IUrlResolver */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: IRequest */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IResolvedUrl */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: isOdspUrl */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IUrlResolver */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const isOdspUrl: (url: string) => boolean;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare class OdspUrlResolver implements IUrlResolver {
|
|
16
|
+
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
17
|
+
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.38.3"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.isOdspUrl = exports.OdspUrlResolver = void 0;
|
|
8
8
|
const odsp_driver_1 = require("@fluidframework/odsp-driver");
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
9
12
|
class OdspUrlResolver {
|
|
10
13
|
async resolve(request) {
|
|
11
14
|
if ((0, exports.isOdspUrl)(request.url)) {
|
|
@@ -28,8 +31,13 @@ class OdspUrlResolver {
|
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
exports.OdspUrlResolver = OdspUrlResolver;
|
|
34
|
+
/**
|
|
35
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
36
|
+
*
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
31
39
|
const isOdspUrl = (url) => {
|
|
32
40
|
return (0, odsp_driver_1.isSpoUrl)(url) || (0, odsp_driver_1.isOdcUrl)(url);
|
|
33
41
|
};
|
|
34
42
|
exports.isOdspUrl = isOdspUrl;
|
|
35
|
-
//# sourceMappingURL=urlResolver.
|
|
43
|
+
//# sourceMappingURL=urlResolver.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlResolver.cjs","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,6DAMqC;AAErC;;GAEG;AACH,MAAa,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,mCAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AArBD,0CAqBC;AAED;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\n/**\n * @internal\n */\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\n/**\n * Returns true if the given string is a valid SPO/ODB or ODC URL.\n *\n * @internal\n */\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
|
package/dist/urlResolver.d.ts
CHANGED
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { IRequest } from "@fluidframework/core-interfaces";
|
|
6
6
|
import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
7
10
|
export declare class OdspUrlResolver implements IUrlResolver {
|
|
8
11
|
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
9
12
|
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
10
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
11
19
|
export declare const isOdspUrl: (url: string) => boolean;
|
|
12
20
|
//# sourceMappingURL=urlResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAShF,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAiB7D,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5F;AAED,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAShF;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAiB7D,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5F;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { isOdspUrl, OdspUrlResolver } from "./urlResolver";
|
|
5
|
+
export { isOdspUrl, OdspUrlResolver } from "./urlResolver.mjs";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,SAAS,EAAE,eAAe,EAAE"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { isOdspUrl, OdspUrlResolver } from "./urlResolver";
|
|
6
|
-
//# sourceMappingURL=index.
|
|
5
|
+
export { isOdspUrl, OdspUrlResolver } from "./urlResolver.mjs";
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,SAAS,EAAE,eAAe,EAAE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: isOdspUrl */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
8
|
+
|
|
9
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: IRequest */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IResolvedUrl */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: isOdspUrl */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IUrlResolver */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/* Excluded from this release type: IRequest */
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IResolvedUrl */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: isOdspUrl */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IUrlResolver */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: OdspUrlResolver */
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
2
|
+
import { IResolvedUrl } from '@fluidframework/driver-definitions';
|
|
3
|
+
import { IUrlResolver } from '@fluidframework/driver-definitions';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const isOdspUrl: (url: string) => boolean;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare class OdspUrlResolver implements IUrlResolver {
|
|
16
|
+
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
17
|
+
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { }
|
package/lib/urlResolver.d.ts
CHANGED
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { IRequest } from "@fluidframework/core-interfaces";
|
|
6
6
|
import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
7
10
|
export declare class OdspUrlResolver implements IUrlResolver {
|
|
8
11
|
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
9
12
|
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
10
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
11
19
|
export declare const isOdspUrl: (url: string) => boolean;
|
|
12
20
|
//# sourceMappingURL=urlResolver.d.ts.map
|
package/lib/urlResolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,QAAQ,EAAE,MAAM,iCAAiC;OACnD,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC;AAS/E;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAiB7D,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5F;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC"}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { createOdspUrl, OdspDriverUrlResolver, isSpoUrl, isOdcUrl, getOdspUrlParts, } from "@fluidframework/odsp-driver";
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
6
9
|
export class OdspUrlResolver {
|
|
7
10
|
async resolve(request) {
|
|
8
11
|
if (isOdspUrl(request.url)) {
|
|
@@ -24,7 +27,12 @@ export class OdspUrlResolver {
|
|
|
24
27
|
throw new Error("Not implemented");
|
|
25
28
|
}
|
|
26
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
27
35
|
export const isOdspUrl = (url) => {
|
|
28
36
|
return isSpoUrl(url) || isOdcUrl(url);
|
|
29
37
|
};
|
|
30
|
-
//# sourceMappingURL=urlResolver.
|
|
38
|
+
//# sourceMappingURL=urlResolver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlResolver.mjs","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAII,EACN,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,GACf,MAAM,6BAA6B;AAEpC;;GAEG;AACH,MAAM,OAAO,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,qBAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\n/**\n * @internal\n */\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\n/**\n * Returns true if the given string is a valid SPO/ODB or ODC URL.\n *\n * @internal\n */\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/odsp-urlresolver",
|
|
3
|
-
"version": "2.0.0-internal.7.
|
|
3
|
+
"version": "2.0.0-internal.7.4.0",
|
|
4
4
|
"description": "Url Resolver for odsp urls.",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -11,24 +11,27 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"author": "Microsoft and contributors",
|
|
13
13
|
"sideEffects": false,
|
|
14
|
-
"main": "dist/index.
|
|
15
|
-
"module": "lib/index.
|
|
14
|
+
"main": "dist/index.cjs",
|
|
15
|
+
"module": "lib/index.mjs",
|
|
16
16
|
"types": "dist/index.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@fluidframework/core-interfaces": ">=2.0.0-internal.7.
|
|
19
|
-
"@fluidframework/driver-definitions": ">=2.0.0-internal.7.
|
|
20
|
-
"@fluidframework/odsp-driver": ">=2.0.0-internal.7.
|
|
21
|
-
"@fluidframework/odsp-driver-definitions": ">=2.0.0-internal.7.
|
|
18
|
+
"@fluidframework/core-interfaces": ">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0",
|
|
19
|
+
"@fluidframework/driver-definitions": ">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0",
|
|
20
|
+
"@fluidframework/odsp-driver": ">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0",
|
|
21
|
+
"@fluidframework/odsp-driver-definitions": ">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@
|
|
24
|
+
"@arethetypeswrong/cli": "^0.13.3",
|
|
25
|
+
"@fluid-tools/build-cli": "^0.28.0",
|
|
25
26
|
"@fluidframework/build-common": "^2.0.3",
|
|
26
|
-
"@fluidframework/build-tools": "^0.
|
|
27
|
-
"@fluidframework/eslint-config-fluid": "^3.
|
|
28
|
-
"@fluidframework/mocha-test-setup": ">=2.0.0-internal.7.
|
|
29
|
-
"@fluidframework/odsp-urlresolver-previous": "npm:@fluidframework/odsp-urlresolver@2.0.0-internal.7.2.
|
|
27
|
+
"@fluidframework/build-tools": "^0.28.0",
|
|
28
|
+
"@fluidframework/eslint-config-fluid": "^3.1.0",
|
|
29
|
+
"@fluidframework/mocha-test-setup": ">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0",
|
|
30
|
+
"@fluidframework/odsp-urlresolver-previous": "npm:@fluidframework/odsp-urlresolver@2.0.0-internal.7.2.0",
|
|
31
|
+
"@microsoft/api-extractor": "^7.38.3",
|
|
30
32
|
"@types/mocha": "^9.1.1",
|
|
31
|
-
"@types/node": "^
|
|
33
|
+
"@types/node": "^18.19.0",
|
|
34
|
+
"copyfiles": "^2.4.1",
|
|
32
35
|
"cross-env": "^7.0.3",
|
|
33
36
|
"eslint": "~8.50.0",
|
|
34
37
|
"mocha": "^10.2.0",
|
|
@@ -37,29 +40,49 @@
|
|
|
37
40
|
"moment": "^2.21.0",
|
|
38
41
|
"prettier": "~3.0.3",
|
|
39
42
|
"rimraf": "^4.4.0",
|
|
43
|
+
"tsc-multi": "^1.1.0",
|
|
40
44
|
"typescript": "~5.1.6"
|
|
41
45
|
},
|
|
46
|
+
"fluidBuild": {
|
|
47
|
+
"tasks": {
|
|
48
|
+
"build:docs": {
|
|
49
|
+
"dependsOn": [
|
|
50
|
+
"...",
|
|
51
|
+
"api-extractor:commonjs",
|
|
52
|
+
"api-extractor:esnext"
|
|
53
|
+
],
|
|
54
|
+
"script": false
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
42
58
|
"typeValidation": {
|
|
43
59
|
"broken": {}
|
|
44
60
|
},
|
|
45
61
|
"scripts": {
|
|
62
|
+
"api": "fluid-build . --task api",
|
|
63
|
+
"api-extractor:commonjs": "api-extractor run --local",
|
|
64
|
+
"api-extractor:esnext": "copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib",
|
|
46
65
|
"build": "fluid-build . --task build",
|
|
47
66
|
"build:commonjs": "fluid-build . --task commonjs",
|
|
48
67
|
"build:compile": "fluid-build . --task compile",
|
|
49
|
-
"build:
|
|
50
|
-
"build:
|
|
51
|
-
"
|
|
68
|
+
"build:docs": "fluid-build . --task api",
|
|
69
|
+
"build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
|
|
70
|
+
"build:test": "tsc-multi --config ./tsc-multi.test.json",
|
|
71
|
+
"check:are-the-types-wrong": "attw --pack",
|
|
72
|
+
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
73
|
+
"ci:build:docs": "api-extractor run",
|
|
74
|
+
"clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
|
|
52
75
|
"eslint": "eslint --format stylish src",
|
|
53
76
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
54
77
|
"format": "npm run prettier:fix",
|
|
55
|
-
"lint": "npm run prettier && npm run eslint",
|
|
78
|
+
"lint": "npm run prettier && npm run check:release-tags && npm run eslint",
|
|
56
79
|
"lint:fix": "npm run prettier:fix && npm run eslint:fix",
|
|
57
|
-
"prettier": "prettier --check . --ignore-path ../../../.prettierignore",
|
|
58
|
-
"prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
|
|
80
|
+
"prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
81
|
+
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
59
82
|
"test": "npm run test:mocha",
|
|
60
|
-
"test:mocha": "mocha --ignore
|
|
83
|
+
"test:mocha": "mocha --ignore \"dist/test/types/*\" --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup",
|
|
61
84
|
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
|
|
62
|
-
"tsc": "tsc",
|
|
85
|
+
"tsc": "tsc-multi --config ../../../common/build/build-common/tsc-multi.cjs.json",
|
|
63
86
|
"typetests:gen": "fluid-type-test-generator",
|
|
64
87
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
|
65
88
|
}
|
package/src/urlResolver.ts
CHANGED
|
@@ -13,6 +13,9 @@ import {
|
|
|
13
13
|
getOdspUrlParts,
|
|
14
14
|
} from "@fluidframework/odsp-driver";
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
16
19
|
export class OdspUrlResolver implements IUrlResolver {
|
|
17
20
|
public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {
|
|
18
21
|
if (isOdspUrl(request.url)) {
|
|
@@ -36,6 +39,11 @@ export class OdspUrlResolver implements IUrlResolver {
|
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Returns true if the given string is a valid SPO/ODB or ODC URL.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
39
47
|
export const isOdspUrl = (url: string): boolean => {
|
|
40
48
|
return isSpoUrl(url) || isOdcUrl(url);
|
|
41
49
|
};
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends":
|
|
2
|
+
"extends": [
|
|
3
|
+
"../../../common/build/build-common/tsconfig.base.json",
|
|
4
|
+
"../../../common/build/build-common/tsconfig.cjs.json",
|
|
5
|
+
],
|
|
6
|
+
"include": ["src/**/*"],
|
|
3
7
|
"exclude": ["src/test/**/*"],
|
|
4
8
|
"compilerOptions": {
|
|
5
9
|
"rootDir": "./src",
|
|
6
10
|
"outDir": "./dist",
|
|
7
|
-
"composite": true,
|
|
8
11
|
},
|
|
9
|
-
"include": ["src/**/*"],
|
|
10
12
|
}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAA2D;AAAlD,wGAAA,SAAS,OAAA;AAAE,8GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
|
package/dist/urlResolver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,6DAMqC;AAErC,MAAa,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,mCAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AArBD,0CAqBC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
|
package/lib/urlResolver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,GACf,MAAM,6BAA6B,CAAC;AAErC,MAAM,OAAO,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,qBAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
|