{"_id":"@fluidframework/location-redirection-utils","_rev":"185-295596267eb6e63f0c849aca8a909f22","name":"@fluidframework/location-redirection-utils","dist-tags":{"latest":"2.0.0-internal.1.0.0.81589","next":"2.0.0-dev.7.4.0.221926","canary":"2.0.0-internal.7.4.7"},"versions":{"2.0.0-internal.1.0.0.81589":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.81589","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.81589","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"71dd2475e9a4dc21ce3cc4eba9c9984eabb23d34","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.81589.tgz","fileCount":34,"integrity":"sha512-s+3DuP6FnnHoVUTG2uZaAf2DpuBia+SVjiD/uOjjRUwhEzDMfDZlEQzROLxf2pGEfXaoiywL4/cDfObEHAzkeQ==","signatures":[{"sig":"MEUCIQCe/+ZQYGy6pnjs2wTrF5urcvcEvF97e81jZv6WbySbWgIgDYkkbnMIxPTxu5u65E+Ne+UJe0a00OtWfidw7KYiPgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2r3OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrplBAAgY2JuQ22hsntJKZYbEQGgH6WAC9Hqo1+3R4dZQs8naqxoq7V\r\nradR7HnnhkeAmbaH2actG5H3LK0pTJPams8VCUgPbGloYufWsFhEYasIOuf9\r\nOB79CVrRGtUSA2tjnHRoDjPnH5yuePIJw76joQ/h0D1E7cbprRJ4O2qE/SJV\r\nScNj0u3DlwY0jE9MgTk68aDRE4yc8mSYv+tTlFJSPJrdq05EwkPwG1BUhDAl\r\nY3Inejmof0cvK5Ve2RdUKaEDk/F2IDfX+r0qvQIHzfKOpLttIgZNYY7vwIO5\r\nMUaQM10wwsdX3lr5HLflI6gqeee8gwqfaReVfPk/UaO0xkxjNo//SJFC5Rj1\r\nrLokdu7UmrjnddNtgRGijtUis5W1eb1CV+gsVPYsJhdloPFopl5jcAtscGHa\r\nFWh5jG5KGpKyZ4Fj32/4H5Dz3lDuDupSUdg9U9afBFnn1dxHMdB5HitIWJsr\r\nT6ui/d9X6e0EOVQdOGdzVm/xe56guXDQ6wrpbJ80fxEnvGGsZOMtXwjvFfFD\r\nteHA9DTVEMOTDF0hdrXZsy9rIspAzSHbc9c29TlqKyFqQ7PnszvWix+7i0D3\r\np0Nzd+JXrTas220fCr59NgaWivGL1n8B2qySg+UswaO6Ak5yXuLGJznNC+xx\r\nGduUFzikdvDfXTbVm/A8JxWLFKkc9STB8WY=\r\n=ATnF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.81589.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.81589","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.81589","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.81589"},"_hasShrinkwrap":false,"typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.81589","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.81589","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.81589_1658502606425_0.8896665551559977","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.81601":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.81601","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.81601","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7f4547fc96ffd5c7757df668b6ae926d77a2b0cd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.81601.tgz","fileCount":34,"integrity":"sha512-PQV1PjJMOLTt/lx3yG54E5U8tAcvQa/KqDG+Xz26UMNPuLnI3bmXu8Zqb/UoBG+IPMY46RY4J7VxjZp1jVdvEA==","signatures":[{"sig":"MEUCIE6xFqWHvcPcsqPakTP9xhuhnPBHZ9BzNe/lwZOj6stUAiEA1qR8LFpECv+XX1h5qEYoDNuktr/4vu2b4f+zCNnNe/4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2sf6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIlw/+NEwq4iZPuZhlJGRykTb94y6qAN8dupzJJMP2vRLYb5rMOYMO\r\nZOXE9ic6G7vIqQO2TcPXtdTK54bHiyytbnRVWcGBX7hswGZW/pEa7LRlGgu6\r\nzs9G8BGKbpYkn5mWU3uYI02tFqxOcNQdSKS5+POAuSm783nwpngYBFzZ1bcr\r\nJBhlaWe9UQWi4GaqSJwO39odTx6XLM9s8KedhWNVPkBgHHJnSUNRTNvx4hVO\r\nu3cwmJxJeDQSmuBFqiQ6akpwrMo5r0ZTNMH1x6hGfK3OybwfO/s65GoYoFtH\r\nIXdJEbs25c20Q7Ko2jTX7C8iQBdO98/SC2C23fJIBym0uXS26mWJK0uPy1H1\r\n1xxbhdJmGAu9ikNNnGQIkIa7uYJRiPOakZjVASTxlvwIel8lWbrEztYjMx73\r\n4R1HtU9mFr1QVHYqGINx3jjB5mnW9BYlb48mpKypmPaJmaqopqmzQ2bb682N\r\nkJ3YOiMbr6wMqOxQj6nL53DgyM1flEjGp8wWqKwBh+iMNtYaP9WHSOmgRRsd\r\nVaPqu8jypRpGFt54qktlm9TJmZXNfmkepSRoMjPSmqLR8hUT8NJcqVPdLGd0\r\nUyeEOhzaOaMOvBUJR8ETgUJCFxpqBrhe/Pt6gp8tUk4Cc6b89Pnoiks8WoMX\r\n4rJXpHFa3EDzZmtW9unkTBIdMHaiGCZuDQk=\r\n=ikPO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.81601.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.81601","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.81601","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.81601"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.81601","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.81601","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.81601_1658505210132_0.41808597627713695","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.82159":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.82159","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.82159","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9d6437757afe7d666b7810caf9baa81ad0a6b3df","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.82159.tgz","fileCount":34,"integrity":"sha512-gmSu8K1jkmYgj7XFUjUO5ecy6d/4ZMuGP75vyn8/ugLAAmqSJZUb4Wo+l/VgzppPTkd9ibzgYH7wpy46YTkICA==","signatures":[{"sig":"MEUCIQClJEf4ILo4ub1aMx2XhxN+0SuTUiAG+xLFTOKBy+mkDAIgVJYKFgjKzXIEGt/7HdPQVFKPji68XQASDf8xoEBUeAA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3/y1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqStBAAiLCgvBHZ9db8ZdlrLoCgVto2igSiFHWfkJm/tzsq1Ve5NVaC\r\nemRDRrEo6SlEcBADbsw2luC206PQOHJZ15kM9v+/C3hsF3rFP7sxVYLuePd1\r\nHeNrIQRggjxZglfoNFXT5GUeE2cYLH9sHbsY+2Hxg1pqoVb+Be7c6ayd76Em\r\nJHP3vhP32Ys5rjm5ZM59UpSsPCuP6WjDVj/P+NlzgKf4n/N8PhwPwlnErfoO\r\nwz2Zp6okA9CP+MnjVpjo/1Sv39OINttLllwv8v/tnREfcfOukZMneDKtX4cy\r\nMCie/eNXcfzjFVsqBaC4XVPTG+eh94vVwxDFNYVAt1ZIksrt4ASskfo6ipKg\r\n90FJ7sTgyW48kxAPhrDr8VqVsEWIyPr+WyuYBeRzahn9EYY28UEKrzwfLttX\r\nod9SGq2eEZ5dgUFUC5OCnQuMq/Mw1rD5INnpUjN7QhLGO/c1dZcdbiHGKwKy\r\nM0aoVCvA398DhdhJZEHusZLuxO3D6QPhaLoWetXM52Kl7oL86Q5D6pGMPQK8\r\n0VVQcg2ZN9k/ZtvflJTc/MfBh/rkeNbe9tHqHYmXHeI9x8fVT/GsWlwifed5\r\nHk0d7I1HjQ8R4c1r0BVZIgdfQgt49ahKHiggaO6yOdT9B1byB5JPR4aVzTig\r\no9Nat1eGr3Wj7N6jLoWRaf0OTjwDqj9RnsE=\r\n=OtmY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.82159.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.82159","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.82159","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.82159"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.82159","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.82159","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.82159_1658846389242_0.38253740393548763","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.82628":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.82628","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.82628","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d54b31561745a3212c709e077d2ffc08dfe6eefb","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.82628.tgz","fileCount":34,"integrity":"sha512-JDpoB1hfLD1fWyPQyLaUL9HtxZeGGbg2zR8JTMMyEzVMDLj2V/j6oB3h2e09AyrGl7MiKrOALZLhJf2j9MZXeg==","signatures":[{"sig":"MEYCIQDVTmMBHbMRxlzc5ffllPBGiSAVyH2pl8wxibpO3nYEgAIhAO3NFlwJ8LCcmXK0IAuGeCIHlpqsdSjDTyPoWWW7oe42","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4r4rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpR8g/9Gqy+nm3oltckft22ir+pzSK7Xd91Y/kaISnOebJeTtZbslnD\r\ntLuKKdvOKSyKZeit41pVwtOW1j667umX7FElBzU4tzRBNXAiDy24tvwp4RW1\r\ntDmBFjJjRMgwWAOUZcN1goag4uBFuAkIWYimCfz41jlF4iqX7Q9Apx9lbeGO\r\noVW/wuqqarrkm/1r1b6lL1o+lgJbkJcV99i6CGD8IpOVJQbHLtTdf4wzrUKz\r\nw5Pbw+eyLr/aHq5nhAbg1bTxlyreyo0bFy/PVdYtu2eW2TwrUjNiwU/+IBv7\r\nYxEFwQlrH2VDpAdDkGnwk1Pc/m+iaVysdlsq22nH90SLVTQVpB0RyXFZR7Mi\r\nQXHXirr1V7zWiWDJV4wiowfWv4Dychd3C2olcLg2gw6m+gr+EL9HrdaFWOkg\r\nYPKtVxQQh5t08rMaUSB8ULc7hWPqWNYOHI0YNR5QzhlR7N/YiCxH+yu8rJF9\r\nNcNTW/rJPSf49rDq/KxeGSrpINcY0Tyu6dgLX3Gla0l1A2tl4nEKMLv6EujI\r\nEWIaCBa8+a3Mc4SeuipqmfUYPxpaOt7L3PzmE4owK1Oo/6Pq5OEXvVh/qebT\r\nm5qCDw2PrQOIagLoe/ct5MG125RJXDVig9oc+ZZ7LcsQXNIdkrISmLIRe3cb\r\nmUxgDUpd2vXCuTU+SqqNkMz1A0npZqIedmQ=\r\n=89cJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.82628.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.82628","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.82628","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.82628"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.82628","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.82628","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.82628_1659026987526_0.18094582103846424","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.82693":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.82693","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.82693","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"cd483f83a1905b38cda32d00d1917b2fe1c0466e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.82693.tgz","fileCount":34,"integrity":"sha512-fTymHplbnVcIsioo/Si8pHZqCFfwsnXiDOJULTiIhkkDjOpADn1QcNEuCNtrCKeDYhf3mT7EPb/SIG7YEcSkrQ==","signatures":[{"sig":"MEQCIHl/5uyVEovKW50Yxo7PKPvfQeSrSKExZ0wzFFRjUFRbAiAurXUMBPTq6dwZFJ0h2TD3q04u+l07ioU+mvhrgtzB0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4uiGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpETQ/+IHQdUL6py5SSSreKbYjAiYOlM3iqk/hYJqI9Tj8pndgz4xE4\r\nPZm6sXePNmh9aZLgWDPcKWRt2E98I9m6GToGK34WEea4ZVRHY3igWyAZDHk6\r\nVuHaSrARw5LU/TUBXMr1b5Tz7zt51xvkFTM/YEq55pyT0IvVN4t98NHWiGJf\r\npj/GMh7FIfWKO5+IA7R1bQGo5CJ5wkBFZJ75cf9VlZDIV3SrRBwudJKCeLdO\r\n0aH1x2nMvcEAPrzarAeHwE6OSiqUwK+6BGAst0PPD3SkQAHuc1waEpnrjsYW\r\n2qmYcRTrVV8hsen/YATFm0xkQPVNEGk2tTng604gHYML+y/ZFDZNJ0iv9Ms2\r\nyuL/YBODmbZ7rRjZRZef46FWEbXK6+bjC++i+dAeYVuPAQ+Ync8qXc5I5w7B\r\nh9zGyp0/RxkCNSY6qqoedK1/egVsC3PXs6Apgdypw/zSek8gtD2UsKUXAEmR\r\nv0rQc7ERIZEXSXS/hr/XaaS1V+AmyU4UxFQ5Dq5/BkvhFdnzPn1ZI1xA/D2E\r\ncqUt59mynGVbYUy/hpforgyZZraW/ORa+E3P294lC5Gm8P0gjxXoPVKccVN1\r\nGqmrDZpTUdrm4D6YIBSBsTkSYadz31I1fBYSztbFQmeD5EKchChOaWUT4ODG\r\njweUa8m6KFDQN7r+rgttf7gID0QbBWYGU7M=\r\n=85+O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.82693.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.82693","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.82693","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.82693"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.82693","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.82693","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.82693_1659037830387_0.32980645597409164","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.83139":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.83139","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.83139","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"67f429e5248d8dec480b899feb0de103f59ab5b0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.83139.tgz","fileCount":34,"integrity":"sha512-Uf1MrjK7rWjt/mjUultFJbLqlwhjq6G8bp5ZEtMPmoOADkKMnFSrSUUi9Nm5H5xdUwj3FE2mfd+B62mfT9KLAQ==","signatures":[{"sig":"MEUCIQCPkYx1vEkY6Y8i3+LII78BrTr9iCwCEXzZJs59Q2f9wwIgdakJMgebv1b38wKinLqcSIm/zchUE3aaKLvF+mDhOnM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6EYLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmokcw/+PuxPF8PtKfakhDqPpL+DeG0v7Tm1Ne8eJAGVwzp//quV7LNO\r\n3p3I0tJsmR+3Ukg4TjbNaaXhhLSOiezFhlWWyAIDkk8o9/oe4Tc9hJtV7IYF\r\nVBQ812gSZf/jUab2/i7XkpN4pVLIYXmoZcnr+YCUj4C9/nPrehmSs0ecplXw\r\nmSHHcose9vrIc55WU01i5YwbjpSgGGaBSqQtlVtM/r/xeG/wnznCysOdIH2c\r\nGopAX3SUR1K8wEuxORSX2ALlHCPwh2ZCjyGZwj06trP6SmrUo35lPnnwbVll\r\nE76G8V+YPvaphTKoIA5EGv/SIxOQG305Hlu3k2juMEDMu8+HSTXDCypn5Jzf\r\nJlt2r72qdHDBpI42aI7KvIv4n7WKJnwJnM43NrhabQcIMeK54uf9I1MNxq4u\r\nEgnCsraPKCD4xmiA5m9fIDpzIGEjqh6vKuMZYGvxtpdDNNg19XUSW8BsCgmI\r\nVpckzdtLqUG+RA/eFhkwmV5BSej3qu72yA0ycT7NDWS/0n5SLjBtXlA98Xlw\r\nJFrX6uCXq1mPdtmvprRJgJ8x3ETxXiZLf7aAHbZycHGGIW4/oWwlmo9zf4Nw\r\nLwMkyzN8ck/OHMrgr5X6Nn72JAmoHPVcPC7nHClW5yN1UT2tUuJj+xFCxetR\r\n59QUgbGg+nY1mJFXJQcpTeNor7rx+jDDHRs=\r\n=h6LN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.83139.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.83139","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.83139","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.83139"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.0-0","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.83139","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.83139","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.83139_1659389450882_0.007322559349703273","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0.84253":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0.84253","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0.84253","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"999293097e780e7dd1439474777a463472cb542d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.84253.tgz","fileCount":34,"integrity":"sha512-9mwMAeQ7+0dcZ0/FNV4Y1CwkV5FBOYbShRPm0m84mF6hKLbRoLezN/17Jg9vEhjQEy+xsBPWbJGnC9z9NncGdA==","signatures":[{"sig":"MEUCIBjbd/Xy03ueTiQljRyE7NDMEiamGwQ//NFb6ORpgWecAiEAztkz6tDeXutt8Ih7M40QutWTEA+dz8PIi4v3uVdBpLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8WRYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxlA//eVjqBPbk/S4IAXoJLSUSA/zSn0UEIMT2onCXZ2Sp2GAZuuWM\r\nvXbQbnfn3kwD0e10LeJS54tnoNMkdvD6yVDc0WBLstMdMLKSxm+vpLnUbCgz\r\nkvd45uheJ0eRq1tItqlfSum6JtjhoCf6iEcZmvE5vtdJeiuIF35+2T2q5DwF\r\nzxTQ2X1Ntj2sCzCVjkDyWD/gM//6cwjZ59jOSvmo5FOVm7haUte9KgivU6Vm\r\nE0lpdG/NH/JMwPTTHV0rlc5HwJ5jiVD4mHuTGZWZNsSN5kP/qzVkfrI8pfS+\r\nbjwZzTe2NDsnKjOym1B9vPtuMrFgAZslnTubjKVWrgsIhzDdIIBAshB7PjrF\r\nKj0zN4t7384C5YYFGQLexbyAjBSYHqB7Ilf3NBG1DjPXWGWa3/TIlpP2RGFO\r\nD6lHKwuQg6RZHIsjEYmTjeZrqLlGdDwbnCxCLj3+KgHFarxOUgG44CxYEVNC\r\nlgQKwSdIX1TlQCweMmPeuaiEgCN2hsudCeDSRXR7Mx+BmYJNzelwh9D0o85D\r\nWMUo+SbX7aJoqJhz6qwbesYbY6dwhwYUIlauBYwqqgDm3YlwZ5QKU8EbbDPt\r\nfqlMnFrv5tidC29SIf/zeFF3lCa3x6B8noaZcdaCWhgZWb9EmwzVy0IA4utG\r\nLopanEoTDuUIh6tjBALoedVjU20B81o5NGs=\r\n=U7VX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.84253.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.0.0.84253","@fluidframework/telemetry-utils":"2.0.0-internal.1.0.0.84253","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.0.0.84253"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.0.0.84253","@fluidframework/test-runtime-utils":"2.0.0-internal.1.0.0.84253","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0.84253_1659987032502_0.11271229388618131","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.0","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f031c4311ca6fd7a9ce719fb605c4566ff144209","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.0.tgz","fileCount":34,"integrity":"sha512-SWmzVDWExal2+Yfy1X5YzMxqAP8bqcDLJ2BZbKaxt8RPibTOhR9I8H93UePdJApPxi92gvY37rGv4KdRJySj8g==","signatures":[{"sig":"MEYCIQDrXJUuNFVBrLx6dxBz6WOe3c/UmCeUy7L/NjUQTuVLNQIhAKrw293Zx9gSjpiA7+rYxSMs71ZuXzPG2xKIcn0K9Z4A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8bX4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwVBAAn6fzAJn0PSmJYDEEy//TsNET5In8dNCywmKRM75xNnU3PItt\r\n8V8qXTlH1ZuhVOhDycv8z+z7cRu3GMGPk3DDgte/F0MyBTFe3qp8Eido3hUM\r\nFTa+qyKXAESg3udQhWos5xTNdK4rq7OQyfIBkUWb4ZiNIUejrOXPqPy+AoGu\r\nBeRDVKl60EWsaThTFiT9dK17gBi2JqSC7wAqrlLzfobiY/8w/vDDaNuQfr3F\r\nVozIoWecSUn9723plyeeUIkEFuO3l1MqNYSB4qckKRujBdvvxBBLpRiqHSau\r\nVw9l0rgfIEGEcd4C6jXBjLnldfVbZYPaO+NnA1xoXlcQo9bU+/J+8l/UKSnh\r\nOScsPG7H8PuXxhW37Tks9tViZw/wrnM57QSSWf1hqZRGzh7TcP0WiLdxYCgp\r\nKwW6mhLh9mBQGf2Ja867NJc+ZOjhf86dsK3xrNQDlt6G5kIfhGqqTyalg5Qz\r\nHUPjKNfqbW7jgvXJm0H9areSGJUXjCPMbUvf3xYU7Hzl5Axjwi4fWF8Dq6nY\r\nf9wtX3mjNLdB16pmV7T3ZY9jOrvXV9J9o5J5DfjAtQ9Jjuos7/8oNoHMXi6F\r\nCRLgTKUuj4TgpAT3SN/SU5i89Cg+bOz8TI8zIZv1taeaWjmuOMtrH7flYkEi\r\nSi9T6rHN5MkULz+pTfAdawtS5VIXsbBiEOo=\r\n=6HHS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.0.0","@fluidframework/telemetry-utils":"^2.0.0-internal.1.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.0.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.0.0","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.0_1660007928092_0.31776221350083955","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.1.0","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"42a8e0e90eb05f84578272d3bf67f71dca20758c","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.1.0.tgz","fileCount":35,"integrity":"sha512-UVi7busOgI/Nygyv1/1A7A/qkaSyujVLg7/CLeRO9y+cO3VK0dTwLJzacV0zK+5JxDPAPYgkpXoCz9xwtjvXzA==","signatures":[{"sig":"MEYCIQC8LFEd8pgmhWohHSbhYRSt+8k7ChacpYpeewuRx4qVZwIhAPQr/fTn9GaM2D+t267uD4NP5W9C7HDAYJaG7lq5Y8R0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEmGvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrR5Q/+JIUjnsp08Z/oTbUp/22gdhtQVvkg1scotf5MIIS1Aa5XQuV0\r\nzlBynNDvDOkwPs7hXVWidoTopHljdzLUMLISIr1bRSh5ya+QqvaMuLPZO2SX\r\nvKCuvKhoalZghEw142lcDxwaMgpHFVdFQ5WfbHBRyrB8YrP4xAxxPDnvGYNf\r\nrCyy9G2hwE4f6mGxbz/P6HS95rxRe40tfPOxcVssiOokvsE+bGlSR1U7tCzO\r\ny/t0/cCBVoo7HGfnvE9XE0JLNMbVTbIMUOBchxh3iigDtXXWNNU9rHyeG3Yj\r\nGdhXhYoLri46PZNibQEjBY/EDxbLtItozcOeqFc1Gqc+Kf2g8BA7gjwI5Ll7\r\nBOZX7FkZZs3A9AI6X/BGnKPaDlkNo2HQXD0q7mSWQhlcTFp6fb+MGvSjl4y+\r\n1qfrMQ4lpP/xwnmk1ZxULvAzDLxsG5ofsHwW/VSxzkEL4MYz3P9uvOjH02x5\r\nRq8MnGdQs9z56hCd81NsHKIEWFGDUO4D0Wh7p6Zl35nMFRWL/W+t+0QQ3QIn\r\nqcvtaj3l/5Jbso5jCHeuRpAxVUYktmwSisxzaXDR0yo7EzRBlseU2V19vkVp\r\npHDhHMs55FIvw6jplOXdIl5yAs9dMBciWWks2hIXg6wzi+N3ra5BK0f/RO98\r\n0v8FGAlAiPcWn0bNcaYAB5jYEEzbAGaE5YA=\r\n=Ipd9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.1.0","@fluidframework/telemetry-utils":"^2.0.0-internal.1.1.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.1.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.1.0","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.1.0_1662149038806_0.5265929331640946","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.1.1","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"8d394180cd42b2eefa06cad19a0ebc9733c7658b","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.1.1.tgz","fileCount":35,"integrity":"sha512-bzICOTA5xzPcgpmyDQvLP+q/vA9akdBwUxC8E2rQVyET9fPioehCwz5rhTt/9Zu5CQkSmI5dq1m7EpW72iPXMw==","signatures":[{"sig":"MEUCID9J3fSzFH3x1N7sUio8pF5Kg+lwtczewbYEUnnm5a9nAiEAsCcwQzpk7qap37ncTFWDQY+E4HV+GgIhHYiHDOTYkao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjG7J3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7hA//dGkyjJSfjSs3E7/8MBwWGONo9/1HbuH6YPqGD+WNFJeVR/q9\r\nEA73J2iasdDfwpYVeky1EjeW9MsUfX48tb8dBluJlp/NSB8aIxMQ/xZzsT1b\r\nH9/MfMXvR5g+pl6KJn03vsjnj5aJtfwEz8xg2D1WI678GWx3KI7KSAw+yKAf\r\nKHp2I6FCNVvfsPRpd//E/qNeteclhh+sa2ADkb1PE9+29lb+/ppF+EIdc4NP\r\nXvRLPTrl7gx4lhcQQKW0PjCzi1xogbHcbtvU/QICZbRLmI1E5Ro9KVW2M1oW\r\nxHIYi7Lr+PX5Q1fRvwhkpUUoy3v/6cGFQ3ZPHlB+VK5Lr957ofS+KpKvIa3+\r\njfwtdsrHchj4xiHiFv21t/E+KRnd81Y/cp5g7VxXuHvak1XTWcLWymOqa2yx\r\n1qrtvDdzX/CJwCig67gZBTUBmnIZ5VfSTG6b50Y20jSatK6ap2aGj5ojrCwg\r\nmZbxNCuznrxZy4Dp7lGOi89+4icL0/6BlUkr2IFJyE8MV72rZE+x5wMJe0uK\r\nx1Y11oXGEokzT47m2Sp+dX0iXBMEhDyHlG9wJUL3ntj/UkOFmADZwutyGpdV\r\nIvgFNxLiZfYr1XYqqgLC18pUdCIQcWvqD5+vlrHmRrcWcK+laNCtkz3etPYQ\r\n8/5vuJ1xghGqDwTFpMRWR+Pc0rL1rF2jhLs=\r\n=WZDP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.1.1","@fluidframework/telemetry-utils":"^2.0.0-internal.1.1.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.1.1","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.1.1","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.1.1_1662759543711_0.1669128488451037","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.2.0.93071":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.2.0.93071","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.2.0.93071","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d461b5f43ed22039e29196c73db9f34d3f14e038","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.2.0.93071.tgz","fileCount":35,"integrity":"sha512-+kskkhPyI26c0Coh8y5/ANO4OQWYEb9BMjDFcstq7plvXfmvf4/JuKHcFIoD6qhe/ZOpkgDK1okMPCjgEL9n3g==","signatures":[{"sig":"MEQCIAG1omL2xlclcnsoGZb4kv0igJEHbsCv83ixfap4qdXQAiAWYMEieYox35N8qLUoLdijXkwcX2FkEyacsSSydFwYtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIj5UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGBg//cG5/Em/rn9fisztK9FWyBjnfFEoyz9lJpZzwE1+GjqTnjobv\r\nHkPXXMHuq2r2HPumFCqWsZ7C6lDQtumFIN5PkZpnckLexUsIESvVk7q9Jc+Z\r\nw/25Q6fYyuXQZLcNXxVv1uq3U5buj0a267FQH14O7FQaJKTOm7MOEzbEMAKD\r\nYai9O9OByXHN0JIFE2WyGvadcYMz0bytvL1F0gmK2fvHsci4zZWLEbQAvmiS\r\nrPOGDj29eZYDhhjCR96SE+ElQDAN/+HONw4FUWEsxSQj5kmHBmCGGl3Fvr2o\r\n5Cs6VjoKUI3Gct2i4QWQADcWQwnI22l5z6QpwPlNeXX6YZOFyiNmA0/XXkf8\r\nPnnufpeyN90UrW9JHWvseuGoqqBowE6TkTC60bzeDIQsCthIXaAgnUBLB4WG\r\n0+GpdU2MUjCZjwv3Hv3y+SI3cdqqWxXe7UxyOTlXh9DFHUEsLlgs9EP1Cruw\r\nhX3KE9wrJibLBdZDaRjqdpV5d9XNedIrbsResUy3Bp2x3xmhI2/uHA79tzLZ\r\n5XuUOdie+tOW9TkksdL9d0jrVwxskIPpY+COUu9Y1TARMfchP0pV23/D09mR\r\nH2kxRR+O+rrb/mEvBxOU+bxtQabZbqjXf46cTG3p3KcnQorIhlW2lUsm/xx1\r\nJefxz6gq5HxJkHDiipAn1k2gbQHVrXkfF5g=\r\n=tLIS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.2.0.93071.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-internal.1.2.0.93071","@fluidframework/telemetry-utils":"2.0.0-internal.1.2.0.93071","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-internal.1.2.0.93071"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"2.0.0-internal.1.2.0.93071","@fluidframework/test-runtime-utils":"2.0.0-internal.1.2.0.93071","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.2.0.93071_1663188564524_0.38919210313397445","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.1.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.1.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.1.2","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"61897f0842127b3278b7bcd9a2eb3baf6ff13921","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.1.2.tgz","fileCount":35,"integrity":"sha512-MRSt3uXS1CQATM7JvBlaqM9Vr+gNdyQeviy/fgRFflnVKpaE+tsC0WXY2g/8P8/ErPgRKHRajuMkLhrKLZMRXQ==","signatures":[{"sig":"MEYCIQDDOZ/+NZYxmZyfq5J2zfNOO/NJQy4zWIIlJoI98MsNbQIhAL76S8W+XTPRDdSRDdvDLgBL37wlvbhpp8Z94hhCeNfd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjI7/xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtkA//Y+kEk04FAL5jGTmC4/Wnn1BTSLjk0ugtPfwCaeXn6CsAh7qg\r\nMq+xbNRDnOqXzMJ/K5t9TCpHjqwdYRPedpK+dAaoDtQxzJzM+1bLb+aV7gxI\r\nD+mUg++KH8XKs6UbEMlxjXBLd8GWUhB4kj7qWli8pN8mLVXy7Jv5ydvT5uyx\r\nLL1ljsHThPzwd41JF3vF3iCef6qMzMtkLFcGeE2y6NA4YjjTwII1jIk2sc//\r\nV03lXGQ/BXNbw4rduqateom3arAc8CBEx6In9Ftvl6fSmfa42a5nnlnKCTwh\r\nJaeFdrVLSUhT1ik32V9DHAc5fi9oHkpBD6qkZwDfe/LG+NVOZqLX1arTP73s\r\nsqf840ZMUqy27mzWz4XIhSvZKDSWKplBET9X/qYzsKyJbQwbPwP4zQLDq1kl\r\nSwkwy2kS9KGbmgnxDFKa4ZC9xOghn1OJYMuswXKhA9aW2uR+EZ7HVB7bZdya\r\nOwqXd4VBpCti4OtBQ/x9qT1J3dZL+3XGgah878pMTjywXhvvwddpD8T4DJgp\r\npCjMFiRPVv/wn0ur4I8QTk5mzyBhuP+HEGyg1rz/nhtJOxdHQk+NvLIfxJUd\r\nD03ibleB18Ybg06AGEfdvCp0+Ou6sx5L9oBFSMetjUHPBZHQZr1gp1SBiXjU\r\nPRK+FKZA+o61l9GFJ14ra17Y7XGnw2ZANZU=\r\n=2uNh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.1.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.1.2","@fluidframework/telemetry-utils":"^2.0.0-internal.1.1.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.1.2","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.1.2","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.1.2_1663287281123_0.20800437867885124","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.0.1","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"3fec8052b291b937089aeb96eec5dfd6667341b2","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.0.1.tgz","fileCount":34,"integrity":"sha512-pKveimz3xtzvbsfwGbFvRY3sOBMf+NhZaF90H1sssGLBr7b+TQ87BqxxaJadjoV4I/9xjzcH7wcn/l4uYhKsXA==","signatures":[{"sig":"MEUCID25oFwlB0aH9RPzm+4YO2gzEcVHcqvB2kyyqqN351EjAiEAnyDfQ2J61TWLOu71kEJ14W8RTAm2K+7TQTwJnGXwatQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLPFqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfCA/9GRwtUOKtQ7MRZePsOdcBwTZciqt3NWUTIaYd08nTIhr7t/Xd\r\ndSsf2h9trsLj9baXkt+n7MWacZHEIfInR6OQzAKk19wui7t7QbztbptmNVQl\r\n5YqwmRnjEa2fmQS9094+n3k2ribV4j3zyldD2O48xNdKYWVYLMGBsnHD24hZ\r\ngFBYO3eWn1EzI5clXdIkjC7eRfPH/U4H8dv2t2GsMbCOMwz3owDkowk8iFlp\r\nARTO1qz9U6deqeiVAUarHuqrRKpfs+4842z2pnrAUcE1jcVl+AoFeOCm+Kev\r\ndwn/VQr3KELHQx00T/8feC/NtvugWoWsbu3SdMwYaW4ctHBlc0u7Un977/QV\r\n1aqraEzvJqfPsUmhtiWUp8qKrdgxaLGSwbpxY9oWsTYxv19IclyjKMFXOGCs\r\nHJlEGSkc7OyvkVl868l2QdP4xL7uCep2HYFyChSKfoJ6Sgl/Zac8lyNglsJ9\r\nxOXsocOxiQke98J5NqivXI/prfxkk+wqjKIhfjCdVRQFV16e+LXr9V86aqgx\r\n3Qqj+WOYPdRn8MF7e064bSB6vmEMGr42narjg3yo+D5spPJpx2DM7/pVj+PT\r\nNcTAsI0EQKbM7OJdmA+eg6CEa0dKJKCf9sf8vJUtbqBzBXc+EuR+Hy1HQCPY\r\nJf1tO/LZ4ft6OLzfNcphKw3q9dSXnWVAH44=\r\n=FBay\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.0.1","@fluidframework/telemetry-utils":"^2.0.0-internal.1.0.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.1.0","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.0.1","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.0.1","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.0.1_1663889770070_0.9651180571210805","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.1.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.1.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.1.3","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ba832308a6c2aa5b1a3a2cac12c95f29e0202c74","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.1.3.tgz","fileCount":35,"integrity":"sha512-W2QWLf3Q1dzvoCTfcHH6BYS5L9xu5G3fDVoeIxaZHpYgdsmJNhZYkVZnMq3JloNSnmi030Lu/HX0Ta+TXgoMUg==","signatures":[{"sig":"MEUCIQCwTAo8P82Im70Ku0XESQBwyLKezj31FfAkE5WbIyRu7QIgRq57hYT6qwVBvKEjcJ81PXFvdxxHGtykHWVdm89bXc0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLipOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5ig/5AZfDPTNftVe6USA5gv7Ff3/+2dXcQ0BtokEMebykuAKTuQIZ\r\n/CuyFeBseeIm+/yzzaGmAkCnZDABqHjWfogNjtvtQ609i/98VM6jtzBaZncp\r\nqGVVPwzW/8ByqnM4qsyG8f0oUrtIL4lBUMdLf/REWI5KWheU9sLHNZcc3atL\r\nTs68zmmulIsSANKnHEkeG+4LFtgoki4Xq4wHQ9eqRvDpR4wzp9urhjPdAknY\r\nE8yG+NRvjygVv4VkSBiXRehiPc5wy6FdplGq1Bnr/wh8AukkLwwPl5lKHYTo\r\n1Ae2Key8NUv/gDzqYg15JPAFNanaHHtj1O4WGt6M+R/flWcM3JUnEmwU8ZpT\r\nTRG+GtRtL4RQjIV0Shc62pV/4HL79qCMz+OXvB+WKPHKO+klGN0jgCsFfkcw\r\naRbUHEGupZ7+a6THkdUqHKcTjDCXJNm6Hhl1wFft2iN8xekpSYiqVCUXoZXY\r\nF9VD4JRF+QynDbMztmMX3VxPhmZnw9AgaVtum2jqZ2l7BhV7MzAktUIzuIIy\r\nWyDaeP0Is8SbeyJyGIiSi5nuNrjAr0EPqzgicGLrXOMQimyG07z6Oa6dIV8h\r\n0RavrTOQmoXDyUAkQZWmjl4LsNmMPNzT5ufCefroh1vT+7QT0gLqHJchGl1+\r\nyVAXs1/Y2VVW6KO28xvRJnx3Ftc7zBMsOgs=\r\n=OXsZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.1.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.1.3","@fluidframework/telemetry-utils":"^2.0.0-internal.1.1.3","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.1.3","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.1.3","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.1.3_1663969870100_0.7409836111751138","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.2.0","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"cfb154cc333c0d32db2a99668aa792ee76e54e08","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.2.0.tgz","fileCount":35,"integrity":"sha512-F12aZclTGDN/5M2fW9usdv6My8mipjdVNrm3W254wO/Ol+AHx5iEktMoirehWFArkly8yUHrg+Sf9ESZ5DD+hA==","signatures":[{"sig":"MEQCIA6lNa002ro9mfw4+hvjOu8rPWaxda9FJNHqXaAFcs2RAiBIqEcwYzFsqYkHa3SgxEJtGkzu7QgUTtSocZEBiR36+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMgebACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQPw/9EV5PBWFMZiYnm2LgwYU5t3SLYLZZXkuPclmFE1a5AK9Pzx63\r\nbPjQvBbHblYA1yNqWpHHtik/j8AQ/rao00z42l5xrq5Mro2Wn7jDSUUmavhx\r\nWcLqvqyCi5p4iUkgzGolED/FfTOXTjep+tFSb7MV2914lJ1UW94Yfp+0QY0W\r\n2xv+AnUrpRP75cdOEgwh5JF1zZQmWkDMwz/4aAHKl35apJV3WLS+pmP1QY0d\r\nh40huQWMdmwHP5yomzPCQq5/WedzPg04sNNnkJ3IY793n8WDdXn3HqooHFHz\r\n/i4fXAOwoei+TC6bHFkQVQZ+E+S/jQ6DMRp2fNybUkqlKJokqYogjqehw5WR\r\nSklbXAGzJ6VzhN738ABRsmD6eNmyUhxB4V7DJLb4bgxPdU9f1nl64/Ixb0qn\r\nnMOij3nZKzu3pHYU87iLRQ00IuQ5AoDGLouefLGsLtoG9hUzq6f3vRk7Jk9Z\r\npcvPZxrtNDKpNvIMfBYRFZbU1l/YblHQ/TnRdKHMTYOXJf1TBHENVImWNC/a\r\nMTQwoTVZISMWxfQIQBaL0Ynul62FwH7Uw60WOr36wjepeLW3iLUMuyJIimVt\r\nmw37oNbgbyof4aJNhvIxpRr9mXSe998c8gbg6yOpNAyM5eE58y2k3c+5nfDz\r\ny4QNkkWIPJs92epmdjYZoY7SfMpCdsWWuzA=\r\n=AJJE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.2.0","@fluidframework/telemetry-utils":"^2.0.0-internal.1.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.2.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.2.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.2.0_1664223131524_0.8550569467599609","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.1.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.1.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.1.4","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ffe17b9961a83084d924d95e33958a00bc3a9f4c","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.1.4.tgz","fileCount":35,"integrity":"sha512-ZKPBm2jD+BJv3cwJ7yL1gj7C1HK0Dizh/5k61gLbNEnZh4KjbcOpP/ZcMzM/vru+mjc1BPbejv4aBkXPVjeUJA==","signatures":[{"sig":"MEQCICYv9MpreFSTUp0sVZ3K0XZ6cn6lsS3Km5GLsT44wvWAAiAJgUNM6ZesUVydqgx7neXMt8+MkSxlVhdiUfUBuauwbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM5TZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpysQ/+PA9wmhioc8x1fm7+RCsX7z0nvITJBSWMQG5kaCF/tvEpt8/D\r\n42xzD0DlHR4tfFptXZ761MxiMVBopwnaVlCBpdvtMgLCGuJXmxrFUDRzkCrs\r\nbBdA2PtCCRJsqGf2Wn6tSzqF+LUYy5EBJxM6Bwk7HyzOmAojyv/M6R2sfVgl\r\nX9vTFYCCvmO5A2sg9sJizVwIIv415icprBXtKlFnGD4J9GCIvL+TidJfoIc1\r\nQHSZQMZdmXsnVyLg0KG5y/HEZQekQ7YrZ5KyX4mFNRniG6BPdpPAfb3wQgJM\r\nESCbwYt+m36tU3uHTwgk29cERkFf+wIBhsS/nY7Ws7/UwH0kbFM4Ei4qdioF\r\nSRbVhrLRDvxkezbqu9udaUqDjnf5GSryK7pn+rG9Q7YdOwkZRZ3iaOdw6OR0\r\nXJytYPffNsbRyfGn5C6sl3uwkNvsoZNCL/gRHVdZb81IEtGGeEI5VRUUpIL+\r\n1FY3V9HXPcDgQJzwbXe2lQA6M67HW5ZF94dVqFFtEKZp+oEbBRCMPXb/0OiB\r\nC2cA84WM98fgeLMLUe1t9J4SbLv2WtUtNTjjH2f/50Y1jRSJyz/XR6RjBn6y\r\nbtUNWYou5+R04eDpyZwY4lDnvPxKn2JcyaJfl8QNTKUIMiCMcFaYkQTG+W0s\r\nrnXYJ4qIZ0zyS+DgpkksfojJj24264rxOGk=\r\n=yufd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.1.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.1.4","@fluidframework/telemetry-utils":"^2.0.0-internal.1.1.4","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.3.1000","@fluidframework/build-common":"^0.24.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.1.4","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.1.4","@fluidframework/eslint-config-fluid":"^0.28.2000"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.1.4_1664324824628_0.9808183020660206","host":"s3://npm-registry-packages"}},"2.0.0-dev.1.3.0.96595":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.1.3.0.96595","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.1.3.0.96595","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"91b9d284919951bdcb9cf2c32b92737a6dae9233","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.1.3.0.96595.tgz","fileCount":35,"integrity":"sha512-Co0oPHzC6vb6CvEVonnZ5+NLqFgg9mx+L8ZO5DHMpmplJp//p2TGVQXzJ7pskELlirch92Sb0Y5ixQ6JGl6qcQ==","signatures":[{"sig":"MEUCIFGDb9Jot3dtP3IAA4CaCrgeNDq8JDAi/qQ2a2YAqzLqAiEA/2MDBkPxHg02KRVkbZG5Duzo8YtkH1PcdeGenDdTkUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjN0sxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEdw/7BIPLYwvuFagAWynEW70yWcRps5j2/s/H9cFo8vKa3/mstfty\r\nmM5kO3vTFdXIyDJqyCsB+nYkrKCzmzL9wVCfc9Nl9rRh3s0pbSFXYKrXRUc+\r\nM5l9f/1JSkNVholO5h14GuQW1jGSAt5fthX9qBCk+oGabY780P659kwRI5eF\r\ntSL6Q9Reo/XqVPD4N8FU9gwWJ1je4/GfXmRYBaRRWT6v0dHg3/yl7bDiY0sn\r\njLLzAMGSDOmKkmEXrGr2pnpzJ3QoDPzQjAxlz6CPU5f6sWP8jL/9MRdTNrC4\r\nNo8k6KwGnGpzG+5QAYO5inkl20P4efKsuG9j/mbnEy01x4bgKPfmfkG3oqL6\r\nY3VZFRvbimrKKkx4yygHpUyn8Ovd4Gx/aa2sHudMfpiHIu1vOTrqI7v4PD++\r\nwuI4WSUd7ZvTm6gfwu2XF2BDixzet3hlFZYRJsiDxpWzJihvn+6T/gjElNto\r\nZuh+yVmSD2r5dL2pDxB2Z1MCHJ2+1Y8H35Z/KmyEW4sPGMo1lL1nztPZgMzN\r\np/BpDfSIG4xLPoN8i2EuaJOQZ9Z59dP70n1dGdsTpnmhGlGRh2fZ3WQsGlso\r\nMMQxZp7n8eImX37ROR6xGV4mYLFFuxsnZ9Kz8kKZCJ9BOZ4dxrTuKcD27GDN\r\nIGHIeFDr8MSRZBvNVvoVNGAvPDVN6ZaUm9Y=\r\n=vfxK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.1.3.0.96595.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.1.3.0.96595","@fluidframework/telemetry-utils":"2.0.0-dev.1.3.0.96595","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.1.3.0.96595"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.1.3.0.96595","@fluidframework/test-runtime-utils":"2.0.0-dev.1.3.0.96595","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.1.3.0.96595_1664568112979_0.9782623306699894","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.2.1","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f31a75eafc8e46bdbddfb711694ca60d50cdda80","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.2.1.tgz","fileCount":35,"integrity":"sha512-izBQy5WlaTfENdxzrTzt2tFNc+XawUMej/KYKHlFo3PNjj008jF/kv6IgUuDhTu0+hxKGJhv7/qfD1ca2u3SNg==","signatures":[{"sig":"MEUCIF5TsQHHd7pDbVq4gVST6hYF7kDIUYh5okK1w7yEPJkxAiEAtUvgm7vAN1+ugUXk7K64eBQzokMtWs8E8pcWYgol5ac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO3TBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4BQ/+MPamGjaPVZ5fQkxoGYzP9gTBgFfhfVn6pIGlm4iK8qWVHR7A\r\nZdWXlslGeG8Z09sTn37dVqCP++Ubmz2EXIlRzY78eksXhoByDu7BhqMJcVyt\r\nxDob3lAfYwoYTJ0MjWvsM0281VtcQcrelHGfAJqujMb97MXm+LNSW3a1bPD5\r\nAoqSWNTejuSx5gUabdHeVPQ8H1sDr5lz90Y2Pb2vIucCFZRPUJu1Tr+f8uKp\r\nQ1Z9bEonsesUJ0RgecpKL8wuo+6QqJzABOI4Pw+PLoV/MrBQj5wJ9aymMMN+\r\nWi1HizGezudagb59B7S1jPTdO4Os+m7oOQTG1g19BWLN0WIEUD+e9SsMG7Ex\r\nB7hhPFPh43LwVoif1GXU6BVX3ZmkNLQ9t8uG5IiBL48HuYQhGmvie1h6IRCy\r\n68VRuA/5cX0ro+j3QbofU/zxLfvTegFgh8Wz/DRvjqI1fDR9k8WrE/ySNFva\r\nHkORE4ifvoDsZf+U+BW7KKIPT971puPCcCiZbyjPNyPkPKPlQjRwJtSnDZa0\r\n1c7ygrtgB11bdyDeeY7scwY+HwBOuYvV/lOjYT+82pQQO3gPHxllV3Nebs3J\r\nC6MfLk/5rIQHQ/CV/Xa/87hQiEljtxXdU3w34XcjGzJJN9wdJDOz5CWfiUfK\r\nYwCIdQ8RnjXbyxWcy8BkG4sGkdxn4fiVj2k=\r\n=utT1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.2.1","@fluidframework/telemetry-utils":"^2.0.0-internal.1.2.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.2.1","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.2.1","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.2.1_1664840896765_0.19607180161186744","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.2.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.2.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.2.2","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"953441c6a0032b505880840c18c283c9e01ddc49","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.2.2.tgz","fileCount":35,"integrity":"sha512-bKWzXJWJC3ko/LYQnOVZV4vlsDlrrKw6WLrrNkuA/jOUyr9pkw60i2akuULDeJtIziTR0G6tC/aSSoJeCvn3eA==","signatures":[{"sig":"MEYCIQC7AZus/Iy6o9T2a1ju4XGcPfjAxTSl+4EehC4Umc69UwIhANwE5R6+Ggm5UeACbnIovWmgTrZaMiupCK/rjW/HwrQv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPNbEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSMxAAjYvBJbzl1MBoh/M8BP/EFOQAAsBs4XkZW6wUFUPiYSsOrrTC\r\nlVH9IuJlGUNWE/+yonDwIHgvLbi7G/p7PnyCFbjMG99vGcU0fX8GiVpigg36\r\nYiwl9Q54GJrgE1l5tyGHpLZWwZh6Cbt/heq7aBGbfxErXfPyZoDqfM4QWS5+\r\n8AKgTC6TSpIEyeO93ibhQuvTvFCFkrFJ61C60M4JFlgiBsB70oWpnKoMdLoU\r\np0yZHTCtMjQMOjJgFMLX0KNN3boed5i2ZaJsUXVzcHg7nRbFsb2RXiYp4zcw\r\n+5tb7hddaCu0CK1Ivk8KU+VqEvm3fQiDyuODE20T71aRhIC+Vdpz/uOsWLfP\r\nbBfz1wmp2eLRNrElEhtR+MKjGUQS3jZ3WrRxR7w+FlxKbt9xJF5ClyWYm9P/\r\nn/v2h2ZvPeThasafOz1ecrhbhAVXud9VVrmAWWoNc0ZgUpQaPtyYobhFC028\r\nHZD3u75KWecnEYX4QPAwpXs+ZqL9T9a5f7mCjIkGlY0ThxLMs3rQRXFR7t0a\r\nSyWFMODtxXd3LC9CaZhA+jfXWjP8M/jsXt/9roeQGwDqRJOvgZqPDTIucyTf\r\nacw+6vJ0gYmqwYYcnfsbZWDnzhBp4Nbi1NAPxnvnjqmPcqnw9hKwr/Ten8aQ\r\njetURoaJIvjmdpTXkHKk7AyVKqlhWXWP7rM=\r\n=5J3b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.2.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.2.2","@fluidframework/telemetry-utils":"^2.0.0-internal.1.2.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.2.2","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.2.2","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.2.2_1664931524064_0.06843526911818598","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.0","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2a4402d212db089ade9e3af0ab599685beb650f2","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.0.tgz","fileCount":35,"integrity":"sha512-Pv/NQJXLzTxCKjT+gtVbvMlacKS00kRctpyYebfOsynM9NXUqmTGTsPWmqrvfzj4I7Ns/qwTaBunJ5wc6px0EQ==","signatures":[{"sig":"MEUCIAxD1RALlgNe6tUJ6KBAoTYWFUZH/+RyvUvcByipmK+KAiEAm2LO7ZTR01mwTiIxSFG+AMK6PkUstyNCtFv9PEyT2is=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjP2E0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJVhAAksDgTXwostwQmruQj/NJH55DyEP+FPz/n5jM801Cw905Cf8h\r\neI8c0vznGnujrbnjttU/2b8AtHpuvZ5Ugg5k4q9DdXX7/ZBdxdQJR14jVfN4\r\nvdnaLVzixQ+o42c3C0ExwW+VHTetapA6TVwZZNajHYRcBzm6h/CahBF9dXhj\r\nwoJilkOOthO2pdYS4ZWLbFo6+L68BeOCkni9Rs2wFgUWKuATBqrTOtqaIgAU\r\nGHPY1nd0v/wxQJABpZZCJ9BsAauqtHWe0PNIfCGeCkLg9afHbGyShxfl9fSg\r\nno2H0JbICTiN049/avm2lDfd2LMlqrW8JXC/0povBKV9GCPM6v8U6yJPlbLH\r\nVSpV5ixeWSphT+EJIqaBHag2xKzPhPHkaBrFJKncIspYsNh0ESi0n3qI2c8R\r\nvcX+UPlZo90hNzAIWd7fu+5q84qrb5BlVL+/hahMIqTzqHtxKLzkOo3lzy6F\r\nLp6+tKKwV8AkXrD+v/DMtmwkDz7ZVIC7hohE4wcliWy8dmVxxmwrYe7CthPd\r\nyzyjkEuyaTf4WPAGZL2i1cardy7JFvQJrd/vdMr+hlxQJyEZNL0xDSUpYHCU\r\nvS9LTB7MMif0IcZzQs6VComNXTgQWJaPgoy1H13TmJQfxZmiUCJDd+RRrPNx\r\nQF4v0TrJTsmEksnyUYKx1c4o4ihNAR2T7qk=\r\n=J468\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.4.0","@fluidframework/telemetry-utils":"^2.0.0-internal.1.4.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.4.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.4.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.0_1665098035915_0.1570870509003539","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.1","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a2ae899bc704c223ea20c08fec906f08ee12c4fc","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.1.tgz","fileCount":35,"integrity":"sha512-PDH5LOMJUQ1hRJIP65I/C1ziwWWOyZk6Ncjmv/WS8YGyRIk4RzBirzrgDnOa9GoiXkwNll7t0YoRo03RWwZ0Fw==","signatures":[{"sig":"MEYCIQDvxKs07ap8kZNJBjAe2k7pMFh6bU8qcQFR/eNCe9+OwgIhAK/in52tdTfyKllPsTN3IZp1B3kZ4tj0zZXcRsBuF7tm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRIrxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQVhAAh309v5LFVgvo4qrjv8dSALiHMsJIwQgjIPkOJc03hZpByWuh\r\nctUdxxP9s8bBmFKBjK0o9S8FWtZSBgX0ueXdDVhmVLrUlEei+BR3NJDoytxi\r\nPtncbqk+UObhg/NOLcDek1A65YIEnCql5CPzVKpwtgjYSQNYfPxOTiZUPKym\r\n9mYyoiF1SoHzfuuoyEZ5eY/sZn5oyJBuqEAZQEjLl+YPaCLACgZ+3q6SCONI\r\nk4Uy2q27FR2EN2HiW68yQ4AdxXh4zVotNitix0Hn+Yf6iljuDwQyXvq3+02I\r\n575q1/Yvj/IhvFKIsn+/DEsUzOZTq1Bak1n6WTkWFXfdT36Ig6j1cfVgxvuV\r\nEsVR03W+xjjJmn2g0ssRVkNCebugmRJWePWh/69BK1eplmvXowZRhvneebF0\r\nEUZRUVHkd6gh/wwZLPSa9tlKlTnRXdXO2bSApF0HvBV7tRb1Gd5SEM8nFavd\r\nt3VV4t83oEpMduBVuWpzND0PK9fV9ot1DyXgAdtafhrvYTaqSWagzuMVPmz6\r\nGpBRvou+qBBb7whEASkl5OrEBGUZhQReEyaYkplwtPG5UeIH7h4dKYPl13ly\r\nYcl36l83U7RQmkDqVSktvqDXCLBiA7f+n2Ff87yKh9EyGZwwqEZJ3HZPlqbN\r\nCKtE3E3koMsRxlxCH5z2E9WO7wVhEvI2lsI=\r\n=sEU+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.4.1","@fluidframework/telemetry-utils":"^2.0.0-internal.1.4.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.4.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.4.1","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.4.1","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.1_1665436401619_0.3123789928892209","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.2","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"11cb9ccee6634a952b2576fcb6748ce11cf90bbc","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.2.tgz","fileCount":35,"integrity":"sha512-4Gd4asidyxeOsfsV5QKf5SNrVL6IzcgMHFVvnISl57rO+/nrUpKZHSCRrNF2Ywrpq6vKu3EQJmAAiFRky4oJLA==","signatures":[{"sig":"MEYCIQDNGxmj5wRaBdl3TW/G/4LvXaUbwpbTFBzWBrpd3N5LcQIhAJvZ2SzsQn9M9vSE/fRJXSgRxCybmivXh4wSSTar2kX+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR1UfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGcg/8CxtOQzqGlh0nyl9f008UVtZu/uB5rvbqR8aQ688JHCqE55RG\r\nTP/PFYn1O32WknPYA7zdbyOzaDcsL3dMJSb5FgfnCb8o2O2B/a4YFAWIrFmW\r\nn8ysLj+fY8sA5M7Dl+CbDtKRjDeXBiIY9EU3CtWrE+E2zu3knj5N2ZlW3xZD\r\n88F+patkpnSEEw+zyRt282qfEXL3A7CZKMhNQD8qYdtntuSvDNdnK8PCfqwM\r\nbFcb/3gfxWbOPI/+dQaBT2M3p1BMxNku3XWOO3oW+8TB0inqPUZs/+8xmLz+\r\n7zo4e+gheDux2wpV5rtdNB9nzoqOsmO3ojuwb3Nx3ielK+zuyqt3lSt0y9ij\r\n31ruPJwk5FGUP4Zgi+Qcrk46pjCIqethZ3G3vJYqXLszk45upmA3UIJWIZ3j\r\n6KmNUk7TDxTtTjoXWz75Vm+kYNikv37jOtMMeRfoT2IEdy+xXI4YMJ9U/p6J\r\nFFr9nLIZ0Bk1lki5zV9wpWKRDN8OL5T12VmhQPULzgExZW6yL0I+OxqH8SjF\r\nSMxSg3fUz9Xo8TQYJOGlNFrkd+lpuRHYWjKeKBtd3Blbw2OrUBN/oce2undf\r\nqj7Qu9W+69dpKIE3afsODJzyNQyUyD0Zd0HsbRy2CTr2RtQ5gUDXmYnpoOPE\r\n+ZX9Jack6fyYqgg5IXRkxbcYraV8Wv9yf1c=\r\n=QxWM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.4.2","@fluidframework/telemetry-utils":"^2.0.0-internal.1.4.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.4.2","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.4.2","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.2_1665619231193_0.6743750252764928","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a5f46b4106a6012eebf514581928bdc03af50219","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.0.0.tgz","fileCount":35,"integrity":"sha512-uQxnCT+NGheO2gVixeFLhAJ7mDrH5lkwkhSoguW9sabI/PCQU3eYQYsCklH4q7GN4N1eNqHFmAWoeuUj7rseSg==","signatures":[{"sig":"MEYCIQCg7WiHxOSvmj58YVk+LpkXxdac2hRRA3WwVRP5v2G5mAIhAJCYoFcaaCIknz3AZkFfVjRYuv3nmwFs2A8m/SgBS7ql","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjThT7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLyA//Q6RJOa9gSfRSVJ/H8M/7Iz/RGhsXHUFE2eFI+zFCcRLcRcUa\r\njh/SEwpA0tu6SOh1nuGYPBdvc2AUXCc+QQNEkuhTxfd+v1cK462DJChB9o6m\r\nlugxu3Kh0yinPYBkjuTg6g4BlRoayAs1kZiTHWmV3B9vUNnFZAGzjpGy0n61\r\n+gMqE0A74TUXbTqtKZFYaAbocH39S+eO+X0eG7SokeBQNGq9lIAtM1r4WBhf\r\neFNnXqwI4BnRBrwciI8qlsRnXl0AWAG7KT4tvPq4XVeKsbueP54Z1SfNgsYi\r\nEkNJj+CDkDjebO0xGGlhihWKG01ODpt7w/edJUbgO4mKogBxvh3nenugm6U6\r\nGtUzDXzd9JzTv8IEdBTFfJyIaHt6GTeXLrMB7atOCgmz0IDXeg//HCOdqQif\r\niN1wfBNMbR3jMMeaUePIwWA1CAbDwEqL7qnYXKN7nDLWL6SC8yT+hne1V+gQ\r\nl334r9WN65f/jlzcNybNmE0kZqT8KsY3cIwnfFwnJDOBClowPYJYS3Hmr7vD\r\n4r9JfUC4QpnkPJTdy+dF3fiXag00jnphLhVoMHEE6mYg/y0DLR6OZhX+CwmQ\r\nk75pnq07w7PTMBuYxYy5lOn990RcPi6c2SlW1ohcEkAEdo1W6aDR67h6asq/\r\nYPWrcJniYCeEY0MSra99CwmQzlymb/QDyeM=\r\n=F7HR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":"^2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.0.0_1666061562811_0.5607351859744292","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.3","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"afef1d1c22fed85c48c74313eb85232aca5c8855","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.3.tgz","fileCount":35,"integrity":"sha512-aMElVN0ueS2qS6rKrTZohM4dQCBFn0Sge5hz8bnYBi4CX4eYtZ/GNs27MZjHUIhjfpOlusRK6z9h6Upkh0tPJQ==","signatures":[{"sig":"MEUCIQCQrjmnmOjrDvNaGgSOQnKPQTCeqpXnwe2e+eWfftf+cgIgKyDVvMH1lTA8SjMsS7WYWzO1IVsa3tc7F+vaEX7G34U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTysHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrqfg/+IHyXzbYOoLNf14HLOL6T13szt5n/ppdPbXFmSTMxdw14jyYB\r\nKk3V9kgCwQt6tnMvx/mjs2ctlDTyR8quPga+ZxkZ0PZCO3wF+6bUHq2nKyT2\r\nbZDsfgDz08g2cMHLjBr1ldyX1x2fyPPCYoWzSzPL6lsU/05tlgwv/Hjg58WI\r\nnjwjEYl6hkcq0cjg3FD5C8P4mkuCjM0sGxlHMeG/3OH4ZAxAYcuU9soPuxw4\r\nfpROS8qvposJlohaaUenvS4ikmo2R2dX4ilIwqGz3XsmEwQad9ZOxHTdJrEm\r\nyZ8HicSwmyJAhFgz5qMHZY985IrhozmiQiY5NmUyrTSOQYB32Hltz7JT3h+x\r\nFCghO8+eGQmEkcbhuzRT3G4QhaMpT2y1KFS4ccQQlH/AJbfWI0fto1FCQGC1\r\n0BV6ecHgs7hjzbSD6LJ4i4vqz3EkR2wsCPn4QyIL3OHJ6lh+dGDWaoNAwEyc\r\noYsHpaJA+dry3ymONNCHBsqfOqi+0uQ21Y9CriGDiJVTomAbSrmGpskbPzsU\r\n3g3l8f50JwCX/OCjtlumQEsMTcenijbZvNDcG2mOEz+a7FcTrjBSWmi4d4tr\r\ncPPf/dz+E+2pj+C69heh+sdtmzN/ewUP2CgjxFPHQ0yUD++KcAT1cKPzHAf2\r\n610LiO3s1Bq24hUHeWUCkBekm639LJS5Yo8=\r\n=5R3D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.1.4.3","@fluidframework/telemetry-utils":"^2.0.0-internal.1.4.3","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.1.4.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.1.4.3","@fluidframework/test-runtime-utils":"^2.0.0-internal.1.4.3","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.3_1666132743151_0.937534351757874","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.4","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7fae555baa42cff5224b425951fd6997137fca5d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.4.tgz","fileCount":35,"integrity":"sha512-mu950lXk3tnkNV65ApqK7NqN/yztKeW0W5WfTdxWhv3ta2wq1u7ProcAMVOiTYGDLbwkBJv0AHmn8HnfTE39Aw==","signatures":[{"sig":"MEUCIQC3fo714mhEYvIzGXxGOXREhHDV2kdyjUGMNjLIds2RTgIgSkLi2Pzv36z6eUAyRUPR2LqM6F0oNOzi0BhOoI4aax0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUO2yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprLw/7BUNvunC4Lagm3PyKv34BIr0yNPzLIc5HorX3iSo37rpvG6y9\r\nO7kGKzI3xpoZpb9akOe0YGuPV3oMsOBMcGv1NwAmQa/yMdsfjDB+4wEDkWNd\r\n4VtnERRVBXJvaHq6WX3euFVqNJ4hm0vaSJ8v6D8ZsYuqLoz158bOGPEoPEsb\r\nKD1fTM3CrlMknODJn9O29uWIV6UmJJ0x5F1EEtA3tnpaMqh/p/zAqTSrXBwi\r\nhMlKAhZvbEXAqT9xFOOL1yPkOFrt4QOSn0+66XAK0gcLu4Jn7vyN4H1bfSUy\r\naKSJHQCrIM8Ewz3Xg5zNZuMUPLF4G+mo1bqFPQqw7Iy8aIDeXV9dwckLE1BX\r\njn4HkzjjcWw44ojIagq3q4f1byeeJuxnY1PzLowJxsw5hgc2JpSpdlaXzzHt\r\nLK+0ihtFOpjPPL7EgxryRnK8H0lXGWk1V2DBTtobX4GECK+o0Uv04KFsgBlX\r\nUnhTTY0gnZbvsN4aNKlFnKWx9BqmzrJo/0NLtE17peAhzIcjqNqvO2k5nA9A\r\nkA40wuD5Ul0LCaRpZekKu1xGo9Van/68UFoIev5EOD18cDR2G0Pd4LHqkLV6\r\n/jC2NnkMkAFvlXyBe5TIwtr6qXZeBYfFdnvkiCwQCRNyw3ATJ6pbuuSyO9RN\r\nfWOEDsuvF0IqcEd7plM7/qC/lnkTDdS++QQ=\r\n=22BP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.4 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.4 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.4 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.4 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.4 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.4_1666248114544_0.9446558798323428","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.0.1","maintainers":[{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a7839b4fd1b4cbff8aa0e72315d6a9eb9348fc4e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.0.1.tgz","fileCount":35,"integrity":"sha512-eCLs0sdczIV8xVENckAgTzx5HEhREOsMXdxgb78jVoKd+Tj2HBSpLQ6PTaIzira+0nQzmtNEOYJ1z/f6ULCdWQ==","signatures":[{"sig":"MEQCIAMtbo5feBCTD9Ae+kQv7HCZ3m0UjXuCWIweEHZ/QGYbAiAPi5mI//FvdeyaLL7XIspgCjgVxb6lC+2OxSRIEQevjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUZ5cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/Tw//evtOOG1qF+6OfJxIMO2kUabJOcbyIv5TcwyjT4ExWJbItBdM\r\nVZHhWDnc5ROIrxeGX02x7zI1qn/iAuiGok23tvNlDrP3G3x5nohNFvZ9rLTT\r\nj6yRd+yC0vrs6E/IUcIE+pvqZaWx8zUxfO+rUxNCB9EDTvsTMjCUJCNPPmBv\r\np/0oEfu60wYB+LY54YQE4ai5uPebDw2ZtpRWfrR9/5V9OJ3uMKLjTmYBRz36\r\nFqJjwPTWnLiffQ/rOVzuzEPm9+ElxpIdIaQvoqFAARzzvmsFIs4bI3vKaNcl\r\n/vAmsCxeltSlBJ12Ewlz/ObQ9iNgRxrqcHcm0zfl3Ys07bSyzEgPyxfJA5ui\r\nI1/0FIez7VDzChvXlvSbZp7RVDGqUXTj1uBL9B2CNR1Q4zQS9W3NHMR5ZmT5\r\n3Uhrn0YRs1gz2UksYa80zLIe9JlGI9hue3biMKdqD52JrA8P9nplCRlYeLbQ\r\nw4UiCVvG23eDAcBdWE8WL+YJvvL2NYCLWJVXEMgO3ERkraIP1M5uM24zkpmH\r\nlXBjaL/HH77Tv8701hiFarXr/1ofvfs0QtdTRSeI+Pi8WSwtD7MiLmArz6h6\r\ndMlaZ8EHmHn9K9QFwotBtRhQmy3sKvlGCP0BZKmaUsugJ1RsPwzfrdGEXlG8\r\nE+mr8FxW/0eegsQFFrLCmstaofB5T6wWKJw=\r\n=nb/1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.0.1 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.0.1 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.0.1 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.0.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.0.1 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.0.1 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.0.1_1666293340420_0.6873652735174651","host":"s3://npm-registry-packages"}},"2.0.0-dev.1.4.5.105745":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.1.4.5.105745","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.1.4.5.105745","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"4941cbed16f8db2db4060e2ae4dbeccb46789c35","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.1.4.5.105745.tgz","fileCount":35,"integrity":"sha512-JWuP4MuSVxEFjbMVx0WCL/IJejRCaHzOjY4jl6mhlfQTGnSeipvfpZqjbbdU8fm6Yp2kbAmgyv2T4zJHbegIyA==","signatures":[{"sig":"MEUCIBGggFBsxn7TfnVQ2NoprElOvxe23xO2YViakRuCFwp5AiEAh7CcSvTSWWaXjCNvEMVRrq6Gag6t88ztSluWwEyG/Qg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYsl+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMew/7B5wBW9HvNLjddouWJizGaFnJlcx5qOjl0AdnlNzZ0A8g9UE7\r\ng+iFdb8FfDBiiVz4p70CpK7nxuaJwZZ6UqNIgzIoy69yeJpgO+e/vH70qQ2a\r\nnxBNmNMI6mYfowdHCiBWK60edVpgIcZ+dJL3A7c7wkbf8c+vYppAEA4PpGv2\r\nKKcaq9DQakDLt/8CEHFhT3dGDNiEawwD31YHjJpRAuUyiVQE7efYA4meG8JY\r\nNXRd23WcRwSJrXliYwA6PzjdIwM5azZqPyAvs83ZS32gkRowcS3DJ0E2TYRJ\r\nh9lgb9C7op8cH2e5yIVznBaXEznuydy1f5zRUeeZgj7saYVHbY8O1STiO4zF\r\nENJ5cGUgUVfbU5fcb37ecEAvVQYu5depk6nCxlYwUiePPdxs0amzT7rD+0zC\r\n7DiEaXupSkZhYKyZqfNrR474cOcLcKlSkszOiA3bj8gRhew2Q8SlknVGFqaf\r\nPcavyzEx256YT7ngdIq3EXeexHxuZMzkWuMFU1ofknJ1hg4SFGcvE/YoChi6\r\nSd4Q1j4xHzMHcwbxwITIafU6qMguQDA3BSB23dO5m5Fqc1Un+aCndvyvgWab\r\nmK4X1k4B0RbShhwmC/j49VqZZrMhf26PV+gb6k1rx5NDsHpQaq5cJOXqmnjY\r\njjNn+3VpEs4fQA2zjS5gmRR2V/Ic5apluvY=\r\n=1aXe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.1.4.5.105745.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.1.4.5.105745","@fluidframework/telemetry-utils":"2.0.0-dev.1.4.5.105745","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.1.4.5.105745"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.1.4.5.105745","@fluidframework/test-runtime-utils":"2.0.0-dev.1.4.5.105745","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.1.4.5.105745_1667418494632_0.45832373206613486","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.5":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.5","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"8cbca45c6705e20bd1b256ad3bd60ee7ed79ff15","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.5.tgz","fileCount":35,"integrity":"sha512-6tflJoKCQFhPCGWjO/OXD4Nm789R57HFgHCGpWj4//rEP55roBM3uY4BtWZjr/4rku84SgtNwnur9kBQKl93VQ==","signatures":[{"sig":"MEUCIFQmU54SEn+eBeD98dzm+Z4S0Yi+ID5gcYcwPvZ31oOBAiEA/5yfBL02nsRN642AQx5+V5/gqNEH7H3QySwpdMmOLRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZBUMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogEhAAiaCObfGHEsBaMW7h8dmNYCn1BFiGUOs2iOLxoYWkwMwoq7Ac\r\ntj0WbuWAJyqhQ5bnUp85OdLWdR/GQwxan+Egy1CFVw/eFtfMq73GmkWUgcpM\r\n8AE5csjtKOoc3ilIYzWAmBkDqigvmsRrnaESvP5Z0JZJCB2JZJJp0kvcU4cF\r\nujHJ0SDYZy+JUtZfNOoLssr6Qbx/FK0v1HXRk6bZtk1JRDE59KF+qyPo/zfG\r\nCs0NroF4yADZgJudYUEe5VbKU5WDwDWJw7cNrIRsIH8YJcCBEnv7vruHYp8/\r\nwzncdwnwR2nQL58vfI9268q0sr8uaZG7RiFJ7i6ewCBVMxp9RjafvBCpIyMH\r\n6WNFOkeoyXriZHULoNsDDHYsEqGIbCuP+VoMjVwG/ytTM085hKviKI2NXl+x\r\nygbOTyt7KIqUlG/7mbnogJs8Ma3L6Zkbb/asvWKNFN5/ovQjILt5BXFuEWcW\r\ngjXeD1PfkV/qO9A6HTswLd5zLuyTTvdkZoThkVa5eIDpiMNd930xY7luzCt+\r\nqVKCX421SyQqXAKtbnHMJB6BGVBpIJoXN04FGOyqQgjb2YUo9OZQniYpWMeQ\r\nCo91FrNrsjzt/UNC/Mf5D53KB/XuupelHSDoI0h1hX3SUIybURE+3xAuXw6h\r\nlPGK77FPekA7Oa4RO1/nuP8UA72Nr6HSYY4=\r\n=ax0z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.5 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.5 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.5 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.5 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.5 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.5_1667503372768_0.3606397709655169","host":"s3://npm-registry-packages"}},"2.0.0-dev.1.4.6.106135":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.1.4.6.106135","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.1.4.6.106135","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9af8c46860b65f505b5c1c05e2b32d2b71c0e3a6","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.1.4.6.106135.tgz","fileCount":35,"integrity":"sha512-HWgMFBFzYj0UBAZJoy7uCbwEL1eIIwxuHNDDooUsN4culE/hnqlVMrjRyCDmxtiQffDe0vkG4Dmd6xG2xUygHA==","signatures":[{"sig":"MEUCICieTu5fuV5TMsPvpNVlU/FOny4heYK5guGtUuvIY58WAiEArIhmQu4hdgdBiDnVZFA95WTje7n9ei1NifrX0J34j/U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZDirACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoY2w//b1kTpWzfyhAZxswYjClbMy0bPnTm91fnupP9oUJLt1wxThfv\r\nHHTEpx7Y4Vnw6tIyOneqrSzbmxZklO1glZyRv/Bwp2mSc84UvkhRpnk2McJt\r\nNtgBpR1BR3Cpv9Z5BpgTenyxfKW1NFRA+zQ2WSuXzSGYEHhr9B2unuSrEOYX\r\nNSlkUY6DUX2DvMySTdaeQoQ99EkwKAVd+rDwaMAU4YoEpidEpUEsKEhmWDM8\r\nu+SDMuEgayMJ6u6rdPlYwE+JWmIHIllpm8gc14TxUw78qO0GLN0KET4EAcho\r\n3vX28RlEAkuA8EwLEvkmm0Pf5P3D2CoVQ23Xc/DfEngxRa6o5Yf1cklGs4IB\r\nyBkDKLIqhOkIqkqPsPYTOBethn3yOJZVCq/gy08JVDlZIuG0iKwEf7TgETN+\r\n3DATo7xgfjzwBxzkmjJXEFFmQFGh/m/3PzojF+joZRyTbLIIS1snz5zL2DFG\r\nzCVO0AIJKJWNJd0UfWeIPUdZqdO38L1IRS7bqW/xsB/M/hTa/svEQKbbHVIF\r\nwCwAbJDpQ6Grb2Lodaj2sYCNxs5j90qc5KOj6Ig6uZrjkcFM8Xjd80jTFd5Q\r\n56mPrjY0fG/XHEVszP5vO+PafhP3g2bnVCygkEHVF8Qg+/UDSLKLEBNNKMIv\r\nvHi0f80/16J0hhlqROey+4jMqCdR4I/5h7w=\r\n=8F5j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.1.4.6.106135.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.1.4.6.106135","@fluidframework/telemetry-utils":"2.0.0-dev.1.4.6.106135","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.1.4.6.106135"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.1.4.6.106135","@fluidframework/test-runtime-utils":"2.0.0-dev.1.4.6.106135","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.1.4.6.106135_1667512491048_0.26464342088617476","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.6":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.6","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.6","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"522891b39dccdd5b2177c63e9868c56826e0538c","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.6.tgz","fileCount":35,"integrity":"sha512-6fj3Y9Y9hIBb39X/GLeHcMABJ+H1biIxPbH+3KwnlV04e0dFDJVUde7Fq4udDIhWU7o3qU7K48ga54rLsekUvA==","signatures":[{"sig":"MEUCIB4wuEidPd2pXzRKiMJKWzgC03Az1mwqkiFQ7xJb0/GnAiEA+HWyM+JiBaoxt+hb2FxaPQjhNGPVHyd+ppibeW3nGMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZELcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6BRAAlrp6I4R/CODY/GKRUrVnpjakf1QjN8lzdPLr/m0R8uyS8MnO\r\nraHxULQyG+ntMGxYwKhuBnApq5/18GTlXsm0H2djSsBsrp0Pqx9gvLqUQXB0\r\nyEXZIT7LAM5WIvz0VesFojZrFdYB93WqxDZ2OvcPR5qyuSMTFHY3UFRKjuao\r\nHVVWee/bmBjVmlMkETVcQWDQZyP5t0TsaU5gx2miAbZdfxltP3CxFMPfwF7t\r\nTV5EjmI6qKOL+kcIQVU8zV2utVJ95s6M9yW9MwMe9ozohmmOdAJ6ZWm5mw7P\r\nE+r5NneBaKSyejWrrO9J4xWpXixvKhNtCheJoYvXKNvRioSqzO9+9BN88eUu\r\nVqBXb02X9/XZ09EtnvV2p7SIj1hU4IARsfMq3uzd/0a2f0IiGzrRD1W9Igh2\r\netcTAVM+qPbN2EkUYGAtfFLC9+oVnpm3H9vzb9MluEAbDhLdGx+a2CS+3Xy1\r\nY0ibwmtXZ+cv3jtDeXCh5c3WHtMzmXKqihScHW11viSY7ep/Y89yPiVw8JAI\r\nUyHSA2Gf0m4mAE+O+idql8Kuq1ew94xHXHDrl7zNYtJjmjUp1lVcwhd9Zpf4\r\n/BSJ1LvqW9NUa9vkSymX177E62iTDdJOEJ7hY2EZI7Dahk1imWFpfixG8+1r\r\nOhgFP2j+BPQZgh6a4p4g4hdd477O3bR2OUc=\r\n=sfjv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.6.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.6 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.6 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.6 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.6 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.6 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.6_1667515100555_0.06438431264998123","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.0.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.0.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.0.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"3464ef40368cb29ad41dc47886d4df7211407f13","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.0.2.tgz","fileCount":35,"integrity":"sha512-KcdatfTQ+fc6VmxcrkXoRpT2vFwT35PmmqEa0OKdz5Jztmllv5FPbqM4p3+jXPqaWU/8hLeiADL2k9rJo3lZ6A==","signatures":[{"sig":"MEYCIQCuvaJm4Lr5U/QroxDOBhqBWFRkE59T1C2MEyplngsVEAIhAK8QzoQvAVCSceu5VAZ1RBo8y/OKxfaHnxW6UrbwHq+i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZZkMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+6A/+KxCzeS0oOZ+fPwcjplt182wpdTs4uaE/2xqm75OO2c6Lqcyx\r\nuLBv6KnnLN3l6Xm44KG6TpQ4VR2fc3lKk/jNSNoMkHIIJpO245vTLsKGlr68\r\ngQ9CkeFea/u73RDjcEoHAdYNFsBfJwsXEMhwqskQZTFc8nTnmUfVX5JVXyGh\r\nyfb09lYzUED4Go2Kcq5HrBel9XHhHo/CKodaM/jcR4Yq+TmnjKNR85AZuPVv\r\noOZbFr3mfJ8Cj2n5WOJDDr2V4nGhIQ8EdS2vVMwvCJKDewUTpCyBp2J7r5q+\r\nyq4BapK+3r6O5XmJLkwvvUBRYZRLgOGLA8XNAopJGjuLz2bp0Q6zrPuvG4Wq\r\nRjQNJRXHa9F9DwT3y3ouLygKEdQcfQ2JxpULquzsPf7ytkPNVuZBhDNMJVkU\r\n8NL+Nx2F2jbdM+L96BVtSrVTshd2OdT6EtF3hWKXi9BMEuEmMkcsuVCe/mbR\r\nZtTuwAaORBQw5DILlt5aC4+mRkgBVr5rf+PbK7JEDD8pPVrc/qI2A9uyFMwL\r\nAihBBTmOdgmu+4oEEZu5hw1LjoNJOElozytl8rnH7uRONVkp2p+mJV8DFL+r\r\nF8Q9AT3KgUG0PT1A98LPShnG3DtyVSGDl1QbaPRmoItEMt6rLiJxOisBb9jp\r\nsYulM5uLezpiqNJst+tlnhUlzQjTNVWmgJs=\r\n=28ti\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.0.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.0.2 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.0.2 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.0.2 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.0.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.0.2 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.0.2 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.0.2_1667602700413_0.284888622616547","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.0.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.0.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.0.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"fba59408a50af5997a55e1094491f168bcd0be82","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.0.3.tgz","fileCount":35,"integrity":"sha512-4PQvbOwHzJ+Gpko6HZiBN49tIYS6tHqCO6Z6ZX7zb0c6JTaKLdwwryNiGz+l8b1GarOUAWwRUmZByxyC7JlIHw==","signatures":[{"sig":"MEUCIFNGw0Wz3uS6aUviw1gV+njBC3QS7xz1DJ8++wjMA9zXAiEAtBSqd2/YExwzzTYktkwrKaNddg3f+vYATzi5fl+39yI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbUdQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpK2Q//fJQvK5GGY+OSdVLrsslqHk6PHy9fVbkC8GuUWWBTFlT9xEVK\r\n9xuxVjvOb+p0muPjFgLtqwcUXrlNpBwNwgQOzIfXm5v3cvPNoSkfcsXZGMxB\r\n3shjqY2zUEeLRdvnjjkIIYjcdgM52LazuNsKkxSlnuxbNx6uuYDifGmT6kwq\r\nVB8sQXTAxguIHi3CYZNBgdcNzFr6D+ceft2zFLhOaK6ixeOkQODbbEYmABzx\r\nn0OxdlAsgINRP9gea2LFz6Wi229h/kUelPzvJJQd24qrr3/6xcn4lIL1Tivl\r\nf2Auw3UoVGBFBWloJyUxaKLXAkndkZC/lI58/MVY9lHiHT1Kozbff4VBTtrD\r\n7rqc6q2+u4dv6MerTTFEjK6Eg07IL03j5vLXG3Gn0pOWB/NukpNJnqILpSkG\r\n5fLwSFi6fR0zzwVah84kwGPSFrVHsh/xe/u2DTJz8dRsrJ7zq0ovlUR3q6BQ\r\nz8y+zgJ8uFAE42JNNEnZdot9dzCW4SoMlwhHhRI5I3PbA1ZM+IVvxI2MZNjB\r\npuZLWIbZFsYopRCnxOJJJ+Wgyixy5hebd3z5J7N81puyBXUUFCcarsAanlpG\r\nBO9qOW/mYze6H6D05sVO7ZmC4dV0vSjLeaTaGnZilG0PVzUALzf51/Pg+IrZ\r\niU3ruAhjsoH6IQgiFo6Az9zkGhS8aRJ8qDI=\r\n=1Ke5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.0.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.0.3 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.0.3 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.0.3 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.0.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.0.3 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.0.3 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.0.3_1668106064119_0.06230565420516787","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"58a2ca97d419d174de942fe03c2e61869bc31516","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.1.0.tgz","fileCount":35,"integrity":"sha512-JcnHHuF9NA2i3fluH8iuN7y/F+JLfr3rl214suE9u3VkmClOVuvnq5PJhgNM6MgeaHs8lU4EUXrUFXD5jlJNPw==","signatures":[{"sig":"MEUCIQCyqucPQ1wB86JbmkXbAbiRXSzr+Mfil/H3q6RGJlokAQIgbQrKL2/Mp4oo30UfH6N5pxO4W1dGffHe11qYWcHxjXg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcpM+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9rw/+KXNmk3ocmi0+r3ejks82feksCdwcNxBlval64kVFRg0MSM8V\r\nOsUWCX0v56SCVtzDC43Xm3gvL2DnWEiP24KvSgJmVrCp+43gf83tVPthI+Gr\r\nUeGtjhuKmvUGSMEGQ1l8YTFY/s/vOJMAakKexc4ML6nRSiYu6xe1+uUO8Hb+\r\nhu2eJuJu4dSf/NwS9f9XxageSGdTFZS0NJeUvoElnRj6iOpCTGGbrdDlIm4Y\r\nbMsR6sL8ULoLR02PA0cyOcNi5ZhrUIygSxP1EjAFBXCv4xw4xzXwghflYVjk\r\nJF595sOD55eLGQTtMxpPVXHsYZo5u/Sqgte1Bc3RQ8XqNHwtGX+rcdeo+TKU\r\nBqA1iVx/r6FBpc7HY9D6wsKZCx/n0Hw66iXLi0N81TN8zprcGtqhXa2AlGCk\r\n/P+VjVQAZn1NZ5QIRil+JXsPn+jLTIdzgs7gJ/58oZSOQ7s/zCMDHA8CMl2h\r\nWVWsC5aquZ4j+uvuA4J9RecPHCG8JEJ+AtZrxeClOBIIL8sJuW+IOsXAOep2\r\n8Bivrcco0D80mdNYjajxKn4j8Ft43avF/gUnboV9OZ+HSYmfYfUY7KQBgxBr\r\nwynOW1QHEuEgwWvA45yEdcBeErYHqst6SeNzAAVsnd02CKP1OqwZZxbrgmgA\r\nFt0mboNO1U5ioFIIwDC5lePnFBg8LCSiJp0=\r\n=a9hD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.1.0 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.1.0 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.1.0 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.1.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.5.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.5.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.1.0 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.1.0 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.1.0_1668453182647_0.49329138589648514","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.7":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.7","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.7","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"cae041c2cd941cfd5e274a23c6fe10d4512f08e5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.7.tgz","fileCount":35,"integrity":"sha512-NlvABfUqpE/E/9mQnPkQ/LzJ5BvjakASb2jtchNq6/VvYN4i+yGJaNb4Ql7Ez0/3/YOprHMugpY7wbaI48XoYQ==","signatures":[{"sig":"MEQCIAgcm0aseSHxJKF1rEHVeTKtFqX06U1vyEUZ0TNJgXrKAiAwcdDul5WjtE+7ur0oAN5GbgDk7chYHDYpWWqy01Vwvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje9XSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquMRAAm6ObTFuF+QMnZJjvkZ/NkYT/AaBRGNeRG7r11jiYtHqw/IWE\r\noZHPpKE/gBEMJNzwdWYQ8hV4BEU8dWCBlFgWbihxKJTOp3CXIoke3euW8nBQ\r\nSfn05TZ/R13+DqytVtncOE+nRW4+it/vae1IUM5ZemIz4t7KUIcZ75Lbx/a4\r\nEmYtKnqnEo8m4lufBG7aTDe0iIZajLqQdxX/pmNhTZcXRAO6NQAfc5MYIfci\r\n80kwO5KXgfEcp4kvzkz3Bvyj/8JX+H2KDiJpl+J8a6udjLW6mOjLO7Gj++TN\r\nTinwj8UThOC0uSbwJ5xswLlYfmdVx/1E5QZXoiTt64oVdWJNbyF6xrZ6OQ4a\r\nD5frIfuF8dTUQeXTgVBVJe2Iw1AMsqjbAmxFtPO6m78lE6BGy+HlEzQzBwyf\r\nakiU/d9+O7IANiMuoNL6XwT/HHjFPMss5QG9nO1kGk0JkIkl6btj6xCWySJF\r\nnVse8Q1ceef3Il92+nBpSEkk85QEvf3Ec96dI7tF42kgNG28zUqgsJ2nGS9k\r\nm87hIHUsJv9kkibmiF0yFCOSTLnLZRIRJIWRWbBAYEuMPrc4k81CsVOQFZp5\r\n/xV/KZTc0S/iLmvkBGBFi4NV21rHP9ROha674eKCuqsC+/gUa+re+VN81gmJ\r\nKiE/VwBWKDBKjIaLPBe72rlNfas7KDzukAc=\r\n=8PCj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.7.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.7 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.7 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.7 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.7 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.7 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.7_1669060050148_0.8507389808685488","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.0.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.0.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.0.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b3df82e53c49d42b23859220dc249bea3b61c7c0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.0.4.tgz","fileCount":35,"integrity":"sha512-yvXLZfapA2CE4D4YvYRmcTdWM1q1Tl2iawDz6IIFDHppWT9QG3BDEKO+ana7zJ4+HjRnFKgUyflix2kXyB18cQ==","signatures":[{"sig":"MEUCIEWTOOWmU5qDMahPDbdkhX1M9zHHo8VzSpKRY/zAQJ8rAiEAu5BybCNq523fvDyZ2cHkywXWJuLnvGYIjl84RmbbQtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfAONACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNQg/7BdjsNSoZZuiedtueuAxIEdo9zefA0hlPKRLaJ2o87NhT/vTg\r\nEgqn9ROx4KiVA+TQol/hjViNC6sUHlknARcTA/cAcuUU9vmLNfEXLJoejMqK\r\ncsS9vKUubzOduIAUhmWp/OBvTUFO+vZW3g0dTl4WjxTj101G6PYYIq/AracK\r\n4yp0HqsI/qPfRpnzQQBDXyOV3J8ysBnrYDvqTB5e/jC87d7WeR3XENqAwiH7\r\nCHdwGWpK2UvjFENtrPFYzY4cdsAG4PTX/Vcsn7NPEVdkWwtCf1fZcKJX5dnL\r\n1poK2tI8tInILOxnQOaF64XPsEi6EFRStVBvyd++zaJAp/AmT6JwCh/QXqt8\r\n4tjGi8w0i1IDTiRaiNMoWa9yB126x3wDhAK83dQWVLHMDlbXqwUCNQ1Jgxuo\r\nBfd3qG4d6MHzkaqCHAtapuPkBTYaa5niNuI7ffCvojiueMjqHtzuVXoTMgD2\r\nvsypG2g2RW/C+cjp8zH9M67wevnMQyTgPYY2DDhO//6fW/2tHlyr7C91hezL\r\n8lzOtwhabqgczvGHrEtSbyIPnDEIVT3Nxf7tRJO1MNiqfBxkhfbZX3l8a+89\r\noGL6E50MoIxlX7fXo4m8xsgC3TdyU6KErKXMN/WDo6sFc804ZJZUX4pRjbRV\r\nL60XdSOXehNIRZLrGn6KutoSg0XA4dXI3Uw=\r\n=C66N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.0.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.0.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.6000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.0.4_1669071756949_0.6298992930935847","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"32b4f57587dab86564b9ffcdde39d864e546d0f5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.1.1.tgz","fileCount":35,"integrity":"sha512-VB8565/NTyxPJ1EcZpPQIprBIj2qLbgBXy58yZgXBNxBLH7fwVoKPLv/dPriwx5bySULfhQnSxNF+t1aS23umg==","signatures":[{"sig":"MEQCIH/t5cQSRHGBCpxiwfqmmgq9bCVkuypYk/+6UvYIZZKyAiAVJaysT6lz9cdEQb93anN4UCb87WCPVkCvj5choVvCVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfAQiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4LQ//aH1rj5OJzOmB0SwuYXYXieEP04iggym9KLPw6h+QGRL+Tdcm\r\nte5UUO9S70IMqCklfqAdfYYfjEmyM1FBAP3jall0l0+yCW/37NXciLUezZgU\r\nzJNqms8ipeXEsjuuVL3lOqdqpawZ+Z5i/jfGdhxmWTw9LjBqkCNeGlIuQ/JG\r\nkQv+fAN0UE6Mxdn6/NlrV/aKfHgQAjmroOL9cgxcRjP8ekf0S43cgd0JiWVZ\r\nS6X8hzr/8kLr/i2jh/6XzcajHvPbh5sWh81pZRDJSUEWRliqMA/mMIvIR1c/\r\n9Qi4LK4CwqkWuMSzDV1P426czCzaG2Tt82JS1kqpTzVKZPth+3N+qgq2be68\r\nSn7GV9L7iFwZUNIEMPwoTuVRE52zAFYvOm7g77qEwRqgpNNl4m7Ec27ksAZ4\r\nW1VogGTHcfQXE0lKYe7J/fwAm8YF3zfCovP7dOGQpify046GJeZM5V0tm8Gs\r\nLyyHw69P6ladxewFqSI0f4ouV//F7Q3HyKsu6qqlQEwtmw+hsXT6IR+ieVwf\r\nJC4qgE/WVw5o9KO8plMU5QZ0hCpLCuD3ZS2A5j5QgXt09wtEfSOW10ij7giG\r\nw+wXiKOMN8Vm8bnFDvrzBjhZM5OPvrF+Wkbo6i1TUgdv+CrpaQhA8L6WhJW4\r\ngqe3Lj16A8qwa/lTnkVCHMCgbgl51yHgdqw=\r\n=D2gx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.1.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.5.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.5.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.1.1_1669071906703_0.7473855591693233","host":"s3://npm-registry-packages"}},"2.0.0-dev.2.2.0.111723":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.2.2.0.111723","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.2.2.0.111723","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2e9ff521f9126ddee068c4de3095b6944fa58a9a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.2.2.0.111723.tgz","fileCount":36,"integrity":"sha512-gTzR4E291oC/KVjkX/1fos0BzL/+AJJLlp3dsWvUsQNP64cNtkja79qAS2E8JnlKRkG0jcMCM9U7dxpT/oTI8A==","signatures":[{"sig":"MEYCIQCimCcduVWJdB5U38oqlofxuM+jOy7f8YNnQBVPskKm2AIhAI7VRee1kHs11dUSez63wooOSf/O0R47L46PioMBKXmw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhNO9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCKA//V/ar13I3kkhqWFlGSTSpb8Lc1QscYuPONeFgIQaMTU5gFrMy\r\nt3TFXv9E0+kWLBx7j+lQVCaBLAQ4VM2a/t2gFkiDhZoZ1HlwfV2DpAfBuDU2\r\nfZy8a4KNg/KIMm3jvuBfxmVGDX4SYk29F6/0v61sr8B5SNYhf0IqqYy5KSS9\r\nzt5fWXlLSQdF1ZSKEf5DisiKyzSyOzodPGIs1WfmQcIimuQi0OLniL6u1fai\r\nbHS70wSOKHnVpe7WZIy1X+AcWQZtplXC3TzkokvelCy9N3FJPda7cuKlauk1\r\nDmAN4SLPXMpsbvTGhsTGiWx2ENT1M480Q33MooQal3f3xmpd0gCE/Z7nmCQy\r\nt+GpprxM6yyWMRGUDSHGVkPHxbKphcl/NY9ZxGjayBD4x+2+ClwZgADwAtOt\r\ng7mPBxd7CDvA/QlZ4zWQeOs6orWYxgpgthL+6ey0PKhW9U5IJk3D5iSnWhGt\r\nYaXl6TpckaP9ipkevNbyAqyweI8y9iMaS10LLGIEIKTqDh1PnNCZC7RnpJKF\r\nifoKlHWQYytgzIMt9VtFCBXO9boFnZPga1GkftLwTst0uwFBIE84LFlFkgVq\r\nds5A/RL2y1pBrfIFkGE8NeJWTQdFfB68ylMC07SpoVZnhNPxnS54AyoLD5mN\r\n67JdaLXLoPo7waAUpQc0+Sb4GA4DdDJT7yE=\r\n=7PeH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.2.2.0.111723.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-dev.2.2.0.111723 <2.0.0-dev.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-dev.2.2.0.111723 <2.0.0-dev.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-dev.2.2.0.111723 <2.0.0-dev.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.2.0","baselineRange":">=2.0.0-internal.2.1.0 <2.0.0-internal.2.2.0","baselineVersion":"2.0.0-internal.2.1.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.6.0-109663","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.6.0-109663","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-dev.2.2.0.111723 <2.0.0-dev.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-dev.2.2.0.111723 <2.0.0-dev.3.0.0","@fluidframework/eslint-config-fluid":"^1.2.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.2.2.0.111723_1669649341024_0.1365040089442633","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.8":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.8","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.8","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d91e8605ee30a3bf33d62074cc8913e6251ad80b","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.8.tgz","fileCount":35,"integrity":"sha512-Th5s+w/mXB3eF9d88Kl3uGyqXgq9m3ThdQ4oAjOaBAi202WfviF7ZNF2/JJ9FWASvesLxOh+bEEpLdvOFR8wJA==","signatures":[{"sig":"MEYCIQCOrstQHzwV/12dSWffv93gVylTPc0ctDzNflZxGyybgQIhAKtErKy/9k1+aYBCHruOz2XWjKeKTmMyTR0vYCBqrM64","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiUa/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryDRAAj5viLNyvjGQspa15QZncMMPTFzS519XdGeMkM0zK4xY/nirj\r\nA4YI9vzYL+C+rzZax9KSNzqLcZ/+uS52F+fliUmL3wUIMDQeJm4Fc2ruOXMw\r\nh4R+nzZ2AXUskJ/I8S4yNByrX3OkNhBvOhYQATpvtnZ2LhYwM1I83o/LLHE3\r\nknsZGoE6UR6RIN7ox/Vrch10Ke1cmMW+BooGO1TI/J97MJBUchVzM1+XWeID\r\nCnB66lB/2FYyzheNJu1nEG96VsZM3lK8zj72rOCEGnJqeIHrS/o3XcCIC9r8\r\nnFw+PnOUKESOohD63vLRHjtdcsF8U66Ysz5yJcD+bv/m2ZWa3RJ4IlyjNbqM\r\nmhYUpfRZoyrvjlwoR19nvsGE11sCTvtp8c5tLhQRhr7thSZsHaU57soaj1MQ\r\ng0QPlWmatJ1rncEmIkcEjgoFElC4peZBOIhbiH1g2hxchm29Q1tY3kgPdlFJ\r\nR+U/FbPUFAtO3dcNiHiAUtZj5c+dSP6TtBCwvPyi+J0ffJiCabeBd8rQN9RO\r\nAF2kCPWU3nT9HntbVVZQQ9/hBnez8KTiLtxFjyTzbgMLul3N6FeAyYH8zSqB\r\nWE2hEu5eBdGR5fCkBT/d3f2/6yfdykW6kbSgz6AHMCSHh2B4ZHenCtxDFavq\r\n289AHbeXvn85r2e1pRA8QfIXP4/0ALUkQNc=\r\n=yuvj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.8.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.8 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.8 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.8 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.8 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.8 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.8_1669940927655_0.3464962081891729","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.1.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.1.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.1.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2b89b44d9b9524d1e11f15374ccedb91acec0294","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.1.2.tgz","fileCount":35,"integrity":"sha512-xiWCfsiHou4+syj1OlLfrsr6AQmA7wH5pnWbQYMeuTlJOPs0xYMLjwTUtLwdWZhpBQoV+2O4sLVV5D818/BWEg==","signatures":[{"sig":"MEYCIQCk90lZTE61HpbwXXb6ngly78UuTx/LZ+tfcJ9a0FfecgIhALq3Ivyu1a0bvAkj1zAGl9JG64Jx2TwqMVDKwSB9yw9C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiUg1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7RQ//cReYeeFkFrXgKA981LTwqZZ+alJ4x5k1dCflYDoacQjJHCZX\r\n8RMzdxw7PexXn8a/0LT2PKHAghKvS3IsuSFnK178rAFyS2fDXw5/4oqwltJc\r\nnWJLeXbaQ/yQOSCXtqcaL2ofaifkS8i6GKmDYMkcd/HpbnD+YSTUHlxmg9ql\r\nPGZRcdLOHaUDVrv5M7apxIUWCXCmSZ4PjdiB3eWgcvu6yg/WDajN3dlBEFV1\r\nP6Vwy1Ni0R+I4QBWc/C6YRSiH1p82xDX4++kgsEPUuyTNoSe7OsRk4i++08y\r\nyrYGhk4y7kyUBbr8abuhCIzAZho/DbtTM0+DrZ9EHBd6uznHj6ux9S5JIR3u\r\n5gdZMZTUkCSfys9yBbvmqsQgJvlRKfplD0ybL9UB8b8qHnBR+pAY/mb/Ro7k\r\nVZn+aT90+XHfbPFZeeMnBE5xYfkbGa8gP8S1tgdYMsD8jcysd3u/IhkSPliY\r\nK6Pi0bv/Sl87OAHrwAXRNudO/H8kRV86fHrkjUOKJnuRiFnGZYbuUuT1IEz+\r\nJE6wPx6fZB9jJpXZqRBwmS3BClGT/3gIxzbceUwq2FhDEJqQrbo2eSER5j2C\r\nV8aCkJiFtvMHl4J40dBf2J6/D//9JjYxzgFPInymWUgVHYKCoQi9BjtYc/Xc\r\nowdsEO/ig2uBApaEdxHSK1v/F/EEWQMVNpM=\r\n=04ct\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.1.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.1.2 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.1.2 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.1.2 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.1.2","baselineRange":"2.0.0-internal.2.1.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.6.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.6.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.1.2 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.1.2 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.2.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.1.2_1669941301156_0.7379201632116672","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d9c93056114b80501d2ce0f15325246b40a3879c","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.2.0.tgz","fileCount":36,"integrity":"sha512-r+/yKBAzOJwOXGfngB/jw8wap/W2TmelCTB88xAiCigasYbDR+alf7ByhlcD6Xn4mhpaV71IIUYqk91r6t8B8g==","signatures":[{"sig":"MEQCICSAwsc4aUjfT7ByrH8aqubSKOSsTSAqtscomA6M1bQRAiAJpafMlN48PEgCUhUilRMThCAC39dQlTKevCbU7miWxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk4+5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFwBAAn/JhdLLNUMoZ0YIJhxZr5GxFTdC0HSekzp1Da4vam6F1Kfdu\r\nWGDuV4tLsf2TAL3SBZGN33PTXXCFGSKwz3ZOEUm7PyU/rnPvPivylOzZqUxN\r\nwbLoo3UyVMxehlLAgVbuGRnyk/2bOJ562nXrKm+fLsp1KtLkbnDHjp/O/FVf\r\ngvXhW+FdphAgHHAOMDLtnoTAqtqc+XJq0My7JqqNPL7fcfjYd3zYeQtfKo7L\r\nDxOEg1w3kwV4iZ/ZLaxlkunu9BHqSqMD5Hi+r2bp0jQpbxHAQxxKVj1dqRH8\r\nv3AuQPhxCpGgk+IAa+i/3zPj/x6LwlNy7Pul+C7cqewv7vFeNI7NjAFI6jqA\r\nn2b+DCtywwTnB7pf5/i/FiUJGP+g2HYujWGK+SC8NGqOLvLA1jL4r8aQ/vKk\r\nV4tgdNJkXoYzpYY/Lj1/LgeyYtRpX2/vd0Q4GU086F/n2jlukw3tv0jAL4Q7\r\nCqwDOHeCPQjUls8YW7Jri077Wt5LVwdF7/SaZOswXtUAIsMxhLMKc+hg3sY5\r\n5PLJxrMEIQnWM9Vs97n4VRsZMDeD8bojKWTe5SDRHB0gywhIUTv7c+pNL/Il\r\n4uAeTJoSZGKe9FxLDamucHWNnivxyoXVilG+/C1TiIrRqTx/N9OHOB1De7hb\r\naqntNxRIjE90cwiHlTsEiUzH9F0geZkgAVU=\r\n=SXPE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.2.0 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.2.0 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.2.0 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.2.0","baselineRange":">=2.0.0-internal.2.1.0 <2.0.0-internal.2.2.0","baselineVersion":"2.0.0-internal.2.1.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.7.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.7.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.2.0 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.2.0 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.2.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.2.0_1670614969466_0.6058275538346289","host":"s3://npm-registry-packages"}},"2.0.0-dev.2.3.0.115467":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.2.3.0.115467","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.2.3.0.115467","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"711143590afd13576ec3409b477c2930e2ed4cd9","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.2.3.0.115467.tgz","fileCount":36,"integrity":"sha512-tGJ2QRxLbZO+XZkvzWnoDLd8FhQoFDcIcozxDVDtHGimZA+5ljNd65IxNPD09UBEl/tsSiJZZTXll4fDki/a1A==","signatures":[{"sig":"MEUCICpZrO6D2lQBI0uC+5mxrZL3nkf+0OsC4DldyFD9AgJPAiEA2U1ZwidDg/BfYVQTDrNP+Vf+hfjcjVhDLph7RMM85LQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmQdxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCeA//ZP9qrCoTDA1bjSmlKK1fFbGt/WOhIsJfQuaujWSOQ3KCVglh\r\nXOniuN4i/mHzx4IlAaC9Lv85gkPkO3SHjhocQ6YYk2OP5ccdWtfEG6rFR+8g\r\nILI3G8FR4nM0WHY2MN1982pYV/+Q2CqQ8U6NtxN0QeGJ4igR9XVvFeMY7Q9/\r\nZXWPmCbeCgs54Qpo3yK2FPwoG6B4urGMe1dutBTfZGoF3RgXsybHiOFolN+p\r\n/xenV9ZPGsRF35/IFLSLNqRyXe7lZ5iPxbNPt/p2UwvaJ7k7hxEAgl9jQvH4\r\nh+pR6JgAGKK5nVn4KGp48/GIuCIspK/G2AExGMpEapF/RVfC88MqrPI0rOZC\r\n+6Zzc6ExBVfYgs7CKutmvcur+Vc9QE091ploJkvHbwnU7/Bj1Gi10nEo4RSe\r\n9/6wP4EFi7OTSlK7H4HshGiMThqgyDMM1pgBmO+6K3g8fdMXEfdYO9q6RtZ8\r\nZIm34LuCaeQR8mBSjlv+tAvmzTaXSfmIYI1J7sQ5L0jHq1aOY7j4pAEbUZdY\r\nqWHnkJJZfh2kAFeDn6HL4HlHxdkLQYB4PsWPzLRn3JFO6w2qGK2qbomb7JBo\r\n6U4vEZB+Y+8EHg2p0JFXdp5384hCGxB0DBFD+chRhVrQlIBOCufyGpoA6WaR\r\nKMAwbigvvv4tr2Ou7wPCsl3H3upxmZSFqO8=\r\n=2+13\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.2.3.0.115467.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-dev.2.3.0.115467 <2.0.0-dev.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-dev.2.3.0.115467 <2.0.0-dev.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-dev.2.3.0.115467 <2.0.0-dev.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.3.0","baselineRange":">=2.0.0-internal.2.2.0 <2.0.0-internal.2.3.0","baselineVersion":"2.0.0-internal.2.2.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.7.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.7.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-dev.2.3.0.115467 <2.0.0-dev.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-dev.2.3.0.115467 <2.0.0-dev.3.0.0","@fluidframework/eslint-config-fluid":"^1.2.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.2.3.0.115467_1670973297407_0.39241888277774417","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.2.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"57d385b0e2a6d297d759b9e9d94e79b220f8c50f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.2.1.tgz","fileCount":36,"integrity":"sha512-o9cbJ9mecEnqnY1occS6GhCyc9TEZtJuyxGltI1q8RzHM7eZ6+CWmvUtM1dgVvAVAmHMFzZD2yyGq3LrlGE3mw==","signatures":[{"sig":"MEQCIEGDWGMZF10a3y4rIQVXD5yZpG3RCEsLFG5Dp90+hMW+AiBGe1HWlx14SdPXrdA6XUsPjuysFDQ52/BepVClvUzXmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuMkNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+3Q/+Pf/gNZcSLbwwTpR5rm/vqBggCAx/j5acWOFfa5yRXvrM3j8L\r\nLPsV6cYA6i0vnUUJfun+w7yjXZXrVceTVpdRN/nQHQLJtw39gGIYt8ZDWcH4\r\nj3BH7MxK1yx7DdzfzXnpsteGJbjC3BqQUiR05gjUmyKJM/RpxMhmmJU2nmqH\r\nsUcYDtWmAHDOGlfD144a2ajJJXH6tYb+4dgWqXOzQqmkQA16mmLosXiM+U8V\r\nrjvIhHFZRvP3p2ZiONz6xf7X4AvtkO06hFQstwBxCB5Mfc/LIWSvHHIRTFM2\r\n6f3eNglHtQq3LNtPQ1Y1o31PFqEF3eWrr7FN3gXG40FBIq+v10h/gljgJbJ4\r\nsQgXAcGtOqBRlbZ+QSNJ/racI73uopg+FqEuzJyt/uIAPQEJKI5s7gztS0C2\r\nHFvqOdWBLBTSDi/WcuXG+KLglO/4wLqgs0ZSCvtqbz1QUU/5ESizHnuISdVH\r\n5X4SJNvMDmsNIuXv6oKz0Ry9WqLTj0RU569aTsmPCA6kMSG/ztQwYTmpf8HS\r\nVy1UYiUcBgyzT8BWL57TsI96yAorajmKcgIeCLKW/i3yEJfbkM+XRcixuVo2\r\n6P4e1opinuqpLorgcTxwED8x5T2VXqvwdgsgU8mWxoYA42BUnz50apehM3Wy\r\nbVV/q/V9h19sGsxke7mOuWw6U5ZfrXzWbAI=\r\n=1A/k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.2.1 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.2.1 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.2.1 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.2.0","baselineRange":"2.0.0-internal.2.2.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.7.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.7.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.2.1 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.2.1 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^1.2.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.2.1_1673054477396_0.17890651320847129","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"169a6721588c54d0f73bfababffc3ce9ad38d153","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.3.0.tgz","fileCount":36,"integrity":"sha512-IbUWJbAdcvVTzyEJqjsXEPfjZy1/6gj837IPjpxTLFAWiuxPfcDOrAwDTLYbYJWUuWa8aL7P7cTMBvPT4zxU2Q==","signatures":[{"sig":"MEUCIBdU4dngry8BQQ345tmfIH8W/P8TsPexxVPFaI4Y4agmAiEAoa5n+7a74rCjDoNnb82NuGQ6SeYoRlOWpQdY3d17UkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjx04lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9Mw//T+MnNXTYGfbptZJlVmuwyTDYiMAVN1nDgBu/vm6zP4vik6XI\r\nTH4DPLwlWJN3VukzWDkIZxJaGMi/u5l2nHXaRzMRYw9Q/E41bnfljq7xKxUW\r\nwUoAhOzdMIHX0JxJkim1t9Dv8KA3oQJ0dazk3haWKy9UIOnZHptjR2BC+W5v\r\nK5udakH/dewfXA9TPdDMwy1oyofqKA9f8G9ivypzNrdy/LV6DsOsRKFv71nh\r\nWXpThFzb0lEwSIbSgL6bB5VAuGLgzAuVv/pTnz4VZZzS94psh+OE6jJDVmXl\r\nJIYr4DN1wvzN2Cu2CQJs7HRrqx9j/v2HxrqOFQgcyXWoPjC3kNcYD4NsBydz\r\nTdgz7tAPCMP9aVsgeftd1ckw9p1kswpn8Cs9tlGx5nt054RHMNWrRdXSn71j\r\nnMvyKVhS28t2ejy95xC0NLwRVKqJ3TS/OZzJntDF8XQGxi8SzKnVRFX934h4\r\n4d6/qDsbsC/1kAeq334vq7SxCIg2JGkD9nNpMuOiVXTJLk0asXlj3Kvnlizn\r\nu9LIcnaQBKGn8yVIJgm7FmXOWRwgI2v5dASa2qn2E7whYXN8Ask6x5XvCSrQ\r\nCz40a9PYqpPzVSt/3V8Cvd0gFhsmAOO3GKh7bJ5+COhOXHwGOYacCERy20ho\r\nzZ5z57s8RG6e22uiIZXxKCltpIINS0mqkrQ=\r\n=eGIR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.3.0 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.3.0 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.3.0 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.3.0","baselineRange":">=2.0.0-internal.2.2.0 <2.0.0-internal.2.3.0","baselineVersion":"2.0.0-internal.2.2.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.7.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.7.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.3.0 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.3.0 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.3.0_1674006053579_0.5589826927774635","host":"s3://npm-registry-packages"}},"2.0.0-internal.1.4.9":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.1.4.9","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.1.4.9","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7b3bcff19edc4094292322ab81a30eb9c005a5b1","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.1.4.9.tgz","fileCount":35,"integrity":"sha512-ovDMGUFibr3Uy+MRc138Rk7EYnoaUDTeBRGaCCwj1pvYMdNpshqQndkLAjJmCy9TVfsGmcYTHScU+PGyuhOIoQ==","signatures":[{"sig":"MEQCIGNxI2qhqXOOncs5gpaMMjZVcXK1x9R6D4NpLaLw35KHAiBIy6WiAi379352tYauoX0T/24ICW/LccYMkuZ0dMlPqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyIw2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlOQ/9H8xw5dZIJGMnVtB9Wu9LUPfpoDyN8cQ4GyQw8DVHVo7MqWo0\r\nLKzfmmZZRpTNVQ+Mf/2Eyl16YTyeMGfLy4NNdlY5sTWAe9KFhi3aniwuqX68\r\nkxBHwS5ZTWiC1p40GLuQoIOFlBzt/ULw8fljaCC+a4xZ5VwZZ+pyHP9VaOYC\r\naeMTSrWXPZEFjIaRTj/aeYUwt/4jtuLYJhwcQx06IWtQoAexubt6kDLmd3ya\r\n7uAwRbkt8ytUV6F0OvljU17leoCNP/OYmMHUctTlxKY/kJpFMO5TCH8vDSns\r\niOkl7pom5soKNAM9HANmyg1vMILayiuBY65YAqfHk1pb0f4u+2Wvf+Olpb2+\r\nyawh/ZyFr4G4UoBuOQ0mSMZnY6zQPrDa9X+0c3WO+BoYGEqhgaPL+/j2x3Kp\r\nHJwdUqMHRSV/0Z0WEZEBkiigb27kNj/5aiwONAbQX2g2xPz4KnQafK4PJ9Y2\r\nOaS/mm9p8SR5iDoNmGd+PFJYNYtyKxorvWNr2RNwvUmniIGLYUQWMrCQyr9i\r\nQxlq7Be1jlINqqmgeKz7FXCjOoAaIOA6bM9FKftD6y+1IRYu22xef431Urhv\r\n4aUsiZ9AqPQ9IbqUwo8STApv6G6vzC+RIDCihx4uMbCzU2zyjqmpQD7ESXp/\r\nmZ0qBZWHzbwqqbnjUEwiOVYndbRTyNP2MjU=\r\n=lcKo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.1.4.9.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-validator -g -d .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.1.4.9 <2.0.0-internal.2.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.1.4.9 <2.0.0-internal.2.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.1.4.9 <2.0.0-internal.2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","typescript-formatter":"7.1.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.4.4000","@fluidframework/build-common":"^1.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.1.4.9 <2.0.0-internal.2.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.1.4.9 <2.0.0-internal.2.0.0","@fluidframework/eslint-config-fluid":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.1.4.9_1674087478469_0.4492081523522058","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.3.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.3.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.3.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ea527074ab40db472af7e3788c7e8f28bee73506","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.3.1.tgz","fileCount":36,"integrity":"sha512-lYmSQJcN75kxtv75lE6H/wkX9X6c/ndDcdrGyQHlX8h9YlIstB8o4nLQOZzSrWiaJQZQUXoSI+sev9LFFPgoQA==","signatures":[{"sig":"MEYCIQCpJOzFNp+rijMyIe60G4P36aNX10c7whhtXWuZhyRB1AIhAKmKHa6JzHI186klD4zQUur+RSVzJKzGLxSl/NQrwBy0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyvh3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBBQ//USQg7DtVVq54SftrQqKwbFoVW0pekcqSFNSX8z54vkIxdxrw\r\n3PCrRIQz7QqCuhaZRH+OU+OnEhaHngnx1L5Y4uo967I6B8jhSbvjLcsFxy7A\r\nhJ26kPNKOzscl9JOAcpvCDO/gelW14ebEruEMC2j85XnzpeGeglmJGlqU2+o\r\n2WbynjIFpaw01IgpDmp25GfetufCbqWaB/ckFazd0bQK3T7/QY0/V+xybR/W\r\nN3y+SirAIzQJnj9UaXL2Zp3GcYumBp8CgWbdvQSByi8QOf8shK28/5t0Th1s\r\nC6cfja8dYStc8Go8nW9XrhUR9xyNeIN1Jz/QsdIlpdKOw/AHYMxnUuUq9pPX\r\nZ127GHJtZ/KqDctZWGhOB2BNGViutmFHJU1SuD0lnrxPxQ40NvMZhkOiyodA\r\n2AkKTi4YAR3YFeFwnFskDjwl1oNuG2SXIyDovScBd2vupDUbiuDRsBFmymAq\r\ngso0BlUl78tf28usCihLJ3EMgaLilSat1J+yCMF+KBrd9rkSyUAX9oGc7l18\r\nS1OqJFf52DGBc+cWIhWcJzn5cpcrCTarSdzKzLj/Ts8diACVG+qbj9SgofJq\r\nvtDL3ILzrwLfYG39hN3KmSd5HI91BqCk66p0FBreHCl1o6PLxsqoNxIzK7fT\r\n5ErSAYOnGj9uvHvaZicw7Vy6I4mzwTAjUUU=\r\n=N+3q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.3.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.3.1","baselineRange":"2.0.0-internal.2.3.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.0","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.7.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.7.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.3.1_1674246263074_0.28304856117769717","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"fd07047bf74fe32f8be208b1c65f36778cb6eae5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.4.0.tgz","fileCount":36,"integrity":"sha512-vIi2vcuB+//jJDVMo1cNX6YfFG87vJCiHCqYsqlmf0Pj05EeuQZKj9CN2eiyDyNFavnGBkdsZU+cxlcHELIUsA==","signatures":[{"sig":"MEUCIQDoPH6vbV37Y8DK95gUkC/noAdrokQvTIR2mz13AgaeAwIgFCHg4hgB5NWRHuS2na4nGgW+VOBQp+4JPhxAGUPWwGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0aqvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOrA//SMUvj6mFTNYOuUcaiwOcvPSO3uGw05t6X65XZl2hJ6X+KKtQ\r\nSPBLj0IXarX3f7r9ftsKnPq0AV+MhMrsZTSZxHMgftJ/BC7HpDijQ6A8++8D\r\nr6HJKfoap7d04EKIACqx6oJR8/YRs/F1AxvJUwKHO1hVudZx32f3Xv+zRqOM\r\nwu+BSbLXPPdcf4Rlv1ddl5ENc7TEOlIeMHrK1TNtHCb1yqxglLh831KV7wj0\r\nrJ8QTSNTJvfop7NmKtxI8NIrWKY6i2hdofMKLeRYPi8XVVQhOG2mbMcoS31f\r\nowkLIPDfMKt03+h5uYmd75czPXR4sip8UvtOU74LDpMhI+p4+5AdLa7OPj55\r\npnG6wzpVbOjdP1ST7zHu3ZaFsivyr7oK2Vm3UA58vR7UcZVNgc2ayuK5L0uf\r\ne81MYXVgqXnZrzCDSilMV5/dbkiF0WrIjpE8TgH912RJ6yTHEwMLstWh3tqw\r\nvxaJeXItv3JofFT+sZVudKt8aBZALWomx+JkeAWgrjctA7URw1ar/nbrwhC6\r\nlGPqeUmc5yJfrVVuU4SfUaH0zOGsVXrE7LFAM7upEbN5HhUbhnbboFLsPZ04\r\nvkNZFSgvQU0bEV/3ARxLBOj+SMDynH5VLM3Vr+DjTfmV4RJxkmwDN+VEVIdl\r\nB7EsCHdyUbTndWQfQdk9Q3UbHKETc5laJoc=\r\n=oSfW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.4.0 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.4.0 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.4.0 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.3.0","baselineRange":">=2.0.0-internal.2.2.0 <2.0.0-internal.2.3.0","baselineVersion":"2.0.0-internal.2.2.0"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.4.0 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.4.0 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.4.0_1674685103561_0.25215945698375886","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b2590efe1330af5c16112ac468552212e277a2be","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.0.tgz","fileCount":36,"integrity":"sha512-1cX+dmULnnJf9iVg5O97rphIX2/075a5Rqe8yo2rmqJM2QmZbalYmCKfcpNaZdtQFitilr0Sea6+ky99ZowIUQ==","signatures":[{"sig":"MEUCIAhzLsghU4OnncinILVoTID8rjtvfc64ftDSYcdiivBAAiEA57C6js0lMa/zd1P1wmgVC1zfZxUzoMoEN/9t+eBZIBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1IK4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4xA//TzRhiyA/lrptwaRZWWwNRlEvBVZqjjK0OAclAkOGcRYi9P8B\r\nR2OMjy5P48zu95e0W/VgeTzf3/cKoRoGmgY5CR/cuuilWG+R8cTuCuFCPfL1\r\newMTQlmrv15XyFY8ByxNx0mC6v4Wcvd7+HvBkTl0i80PyzfjCnu1dg3lFXrw\r\nhr3+t+hLPu0HR9XESSrq9FKSq49a3FZrMcEH2iWyK/8JfPlpJZxUiHNXZ47z\r\nz+sRRDzp0JegrQPz+1ctJi76R5b1R7iU7/ZVuSNLmJ7B1dDJ1JUvJguuZXpI\r\nJ/xRdiK4Ltws5cg25exmB1U543Jq2ZOx/I7YNV2ji1i9dp98d0iGhWwm8r9r\r\n1Zj2VVTan51OJ+ytLWwne1TCm3sDEbgL51brhHp5DOMWwqf06lagCj6DYI+0\r\neszFeou4xE5aUBj6bvAQ0XNJPHe5TS9hRyC1fUV9uc/r+WnSpRPt/zAxu+Cs\r\nYB0gibiwMfoD+AJ6Mm3Tsij7zY7IMcfivbuHc3M1yCH3JCSXM7kFeVpM4GZS\r\n9ZkL++jxphF2OtnNsiAvWksCmGYphiQ9BxgAw2n5jv4w8EAE8wxxP1tGkNxm\r\nHTqBAojfmyUgxja0YurAJVWvrZ9a5iHbPKZGqFFkz0r/mUZ956ZOPS2AzU9C\r\nWLJfHzdMoi/Dl5u3W5Nkd1mzRaguQFgOb6E=\r\n=qljZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.0 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.0 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.0 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.0","baselineRange":">=2.0.0-internal.2.0.0 <2.0.0-internal.3.0.0","baselineVersion":"2.0.0-internal.2.1.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.0 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.0 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.0_1674871480126_0.5782072272833392","host":"s3://npm-registry-packages"}},"2.0.0-dev.3.1.0.125672":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.3.1.0.125672","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.3.1.0.125672","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"042912d996433140dfd2d28b89649daca21870d4","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.3.1.0.125672.tgz","fileCount":36,"integrity":"sha512-Z/Zh/pF6/H8qdBO2rulhDQfB4eKhxt7HsRgC2DY1VK5DkK72hl1UkB2Z5GqiWjJX3RthKDr5JglsKHLfGff6Pg==","signatures":[{"sig":"MEUCIDqPi+1FbXUWDsIYkez+BojlhDDkCczy2rdT1Bh9AELmAiEAmTdOqfsW7cbUHMH/PL0TIGaa377lB54Ru2OnkYS7CRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2UHcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSxQ/+LaFqyYbmm1qoE2YnN9+5pVzHAsTI6bZ0OgqkSaM5wvtt/cTV\r\ngdkHw1Ot9iwtkzlKJ2Gig1K8QRZdz1UfCh98L8Mg21I9gFzkP8Opeum8TxRU\r\nbEj/QND8jVP+45Sv/iNUU1DvGX2UTEx5lR2cv0aPhoAgRMukQ1aifoD2hJcI\r\nBs6vjDDfsWPuB+wKZ7DyN1faDdq33IKAOiNTv5xPwzkW565E+kgyFqcNbmI0\r\nQ0sD0WhC55P4JkEtrPINnIOuAJvOCzrnENKuYtDSbf0eKLFDWsTDlXv4QuRr\r\nNIjZKVblLFwbAGeiVCgKHnZKtEqqC1AtoGbIomYxQnN0EOLPtUBzD6PEPgV7\r\nWIotiCSGY6GYfrxE5eFD0rl24eGdxCs3WbzrcSOtaV2nMr8/VimY0P7xmUHv\r\n9Npfc4qPxoB3XK9oTruEggaQq19HPZB+P4xn8NEN+5Bq1JAeJDAl2Y5L6LSw\r\nJtPUNwKCBRIEDClW7eMf3zbQr83Lb1vde1WWSjFAWDQTWYqVnXIEFhp4ZB/q\r\nUYVbFcpLwdpJG8jou8I9DgVTndFZUmWyJyfo761rvP4pal/eEiSe8eJPfd8F\r\n+GTykZWQQc4IV5cghQoSk3gD5YB8RIaVdxPTxLK6AWGB9gLWWtP8kbnHpTW1\r\ny8ODf34+Xy1aR8Cjwc7nY4brnMZUkS2iDZs=\r\n=sUMq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.3.1.0.125672.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-dev.3.1.0.125672 <2.0.0-dev.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-dev.3.1.0.125672 <2.0.0-dev.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-dev.3.1.0.125672 <2.0.0-dev.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.1.0","baselineRange":">=2.0.0-internal.3.0.0 <2.0.0-internal.3.1.0","baselineVersion":"2.0.0-internal.3.0.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-dev.3.1.0.125672 <2.0.0-dev.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-dev.3.1.0.125672 <2.0.0-dev.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.3.1.0.125672_1675182556479_0.8580201118288175","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"4cf1715dc35e6d7dbda682eabd4e39740045225e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.1.tgz","fileCount":36,"integrity":"sha512-grgqc/2sCBXga2pbVOIBgWYyEcFozjkSZm5ZJDr0cEVE92jqjRrSY5fOxBkTGL+3w18im+1iTRWGNil2p9KK0g==","signatures":[{"sig":"MEQCIFLOYQ7R8sfT3vF5lM9M3N3kcuossI6es7Jot1AtgDPvAiBmJRcdYcEgihd6I8C5XaPXGyliOm3XtJ9i8JH/QZjvMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3Z/lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolhxAAgsNIDqgk8EUQu8R4CKMhHiUkKU26aAKBsxvScJSHjxmKvk9q\r\nBKy4s3R4zY1F+L+B4jrLvDkUHV8T+KTnCyYuUfPOGRxd+TKPMsPlCcorOaS9\r\n/d/WRIqLiW4SOt6U8CtXEvdckXFhEoCqznnNw6CBOTeW4gfDSwLMhT71yqty\r\nP5Hh6Stg4MbuTsvIEDK3dVIPAaozXx83zkunkkvDMcaWXxNvEu9Zf3zfQvWu\r\nNL/A0EIOcMNbd+xXmkEgsjxac/980LO7ZTbKxnXs8DB9CYwRwIsiDDpeku/G\r\ngkkR6T7c6dHSpcqq34EJb8pG2T5SKkwH74cJfuPbdiU8mrXWHn+f0H/c6uwU\r\n0a4C4BPB1NLstchZgQY5NxrQubg5nhEIaROe85CajsM0+SN5u4SQRYPPnnYH\r\n8x0F6a8Nar7ziQG0lenw0h6fEsbdiML8587Ic/dsAKTMB4sNjBmo4iSwuOGF\r\nlgzHiiJ+5UG594f2GGMF7BhQaN1mr1Zk3cYx9OMNWByXKdZ+ehkwryK0Cq94\r\njgNg/VsJomHEw0fBplRMZuVf6vOTNEBM7C8SuME/UiBDiIx1jVozmu+AJclN\r\ndpILUExH09kGqt7/1gp19SC1uF9P+HC417FhlK4P6ApU+Z9fn5XYeWkOOP+T\r\nS3sOxAovmmC7a3sYxp/mBk0h3mc4JAVOhXk=\r\n=OdgJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.1 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.1 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.1 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.0","baselineRange":">=2.0.0-internal.2.0.0 <2.0.0-internal.3.0.0","baselineVersion":"2.0.0-internal.2.1.1"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.1 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.1 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.1_1675468772882_0.24388185624311665","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"dac2a52c7c93deb577d3cbd5de332f8e4d7f964f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.1.0.tgz","fileCount":36,"integrity":"sha512-VkGL4gHJNHdQhHaev+9nkmzArm+3C2WCntt3lf4n6ma2NCIGk556a4ONp4aqvsMDP+7BpO8PId4z+C7QSu0Btw==","signatures":[{"sig":"MEUCIFoEI7uhJCz/kuKgx6Kw3cXNBVqSzDaY9KTrcjwEx+lQAiEA8ouegC2JsNvkxoUCe0C7Ys6EgMach+4J5bev9Uu9LlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5e0DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprYA/+JBfNceU2Oo3+mUByv9LTfK5w6A2v/+KUZ3J5Fc6vkxNIbWj9\r\n/NQga8B+5QxxVnI8boXCGDmh8/4/TY9kQIDBcKBuxDH1fMwbCTBv9UlYXnJB\r\nlOuwRGYldpj0RugD7srcRULzQb+tbrBq9uGH0NmjBAKbr0i2Rou3rgdOZHzP\r\nDrgbkrvJFb+h4HJQx/LLzD/MjLnkAz13O7FzadlopehkJ4tqCoC8zlMSe9df\r\n7TrClX4IIXTd9lABDvtE7OD5T9Zw14ZurkxXjxdxM965t7ktxKJcWzbc1Tmc\r\nP1mIz47r293js0On5zuFOQsCBENmQvbpuuLy/WhzqHXJMpBrVMYY7Hgrphrz\r\nAJI11Ihm0de5cIOEY9dAfAFD4MTSo+YoSfG8jEKgaWP+SNmEtcHivdwpWi8G\r\nzUAVLW+JLBYtow5a64OI6JWkKQ/7KDzpgkdEl1MyqvHVXwcUjP5L7Dw9ZCj3\r\nbsq11Z4bBGzmosu6yfCPn7TJbcz4Hvxc1l323NMaxqzpV150cBETH296xu2P\r\nEgPokbkZDyg0j66nN7priA/iP9Md+DPxeZbfLO90sd+1IpB1U2zlUqsED8na\r\n6dfx7L7spOI1tfK/pFhqZayyaBAmo93U6uPPELz0Yuquv4fNjNGsmbqMI9Cy\r\nVx+jsTnGsfluHLwFooyTep0Gtlhcc8ZVlOc=\r\n=A1SX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.1.0 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.1.0 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.1.0 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.1.0","baselineRange":">=2.0.0-internal.3.0.0 <2.0.0-internal.3.1.0","baselineVersion":"2.0.0-internal.3.0.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.9.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.9.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.1.0 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.1.0 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.1.0_1676012802926_0.5020415993768055","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1d38498c5661e991d654ae009fcc02d09cc9b663","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.2.tgz","fileCount":36,"integrity":"sha512-52gMqxy9HRMC6hGf3X4aE/Kid9i9XtSqqa/m8jEgRp7l8jxVHrVXuN2awoWK8edl+ipsuLmr8snX02QChdygCA==","signatures":[{"sig":"MEUCIGX6vJdIDDKojeFMraX+uHJz7D4oVBHYbMRF6oeOXd0lAiEAqhmt9epcNVf05S6WkQlNzosTpIb5IPGZabjSl6iZR5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj68j8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqizg/9E0Lb+9NxzYXpsMxPqNFCpjYV6RKF/VDtPoLWCgY+Mj080uh3\r\nAjMD6zqYSkGbkR7dEINRT2J1ManY4x4CJpMMtldgzutAcvy2WR8Y0nl1Ae1+\r\nMZ+0Sf+dmCWCG/XQ1swQNet9TDPFiFARPfQ64ntFpMAsvGljWbkgb2dd4YoU\r\n81Aam82nfD7cGKzZ5gsYFUqTwOBsUyCFqBlg8vqaA6YmTyQ7IlTIBlbwve7I\r\nQ8HJMBQO7cnSv44Dl4yRmZwnhTBtE2uepZTgeLUcZmcVyas0XImQouxo0VUq\r\naLZWCx8JiHeWuOFa4re5pu48vLIC/Kz+Fv4S1otstrgR4FgU1G0XPG7aAH7F\r\nvZxhlQX+KV98ibltLvVFVsyaTvYTWOzBZqXc4wVZYmQiuac6f7FhuvUJuodT\r\nv2lluWzo43sQIBiLmY05eWoALT1iVCxxcnGkp+B18LvcnxK6gxajufN3uui3\r\nxYdpnfcNBLDwuF3l5t4hkhBSuZKuwDjXa1dr6jBLly2JgQT1bqK4YEdTk3RB\r\n9ttRpL0vwvN3zKuVeE2KxSZJK4szQpRcctD2jmh7sM9KGYj2diHCxKKV214+\r\nkstVJmLtLuNdduez2v+kTEHJfkC+O6rt8ywm4+NdkCCusFe2UZf8usKZqU/E\r\nT7Y+VBjUQAnCJfwAQFfg7oEYOyuo8Pp16z0=\r\n=d1bD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.17","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.2 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.2 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.2 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.1","baselineRange":"2.0.0-internal.3.0.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.2 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.2 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.2_1676396796711_0.6743174532546379","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.4.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.4.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.4.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d5e01a0b9ac9175dc4cde08da77e1a7b3946de74","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.4.1.tgz","fileCount":36,"integrity":"sha512-WjnxF4FfOyW+QZimOG7Ck5+8Mmz4vwTI3xczWur4sE7GDLXKHfYanvSyWvK2yXLHNVrwdes/EnJZ+7MqWvOrEw==","signatures":[{"sig":"MEUCIQCwh7MitnRb7an29kD140dPUC1m9W4xWnZCI3Lwv0ha4gIgPbOF/yUxdqgwggIzdE3g21DaAitoQnGPZYhgT2hmXZc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9/PmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmol0Q/9FO0IkDVE5i6wI5PlEObsrKOrdrKTb/seSftJqRBe/W2Oo+D+\r\nyeGZQNGpHmueU0ogbI1X3V8iqOOtyYQVvVotEXqpyMEdWWv8LGBiny+G8Pqq\r\naAiHFw2Ozhw2getq0Q6LJJH/muBAr/p1PRx8yGmWjlBqv3NOfGeJWvKIX4V+\r\ngYR4kQznPIjzjcas1m3g9QvkHWRzfR3bGNTGK6RmdH8GyQ9uxhEOH8eiul84\r\neHvR91yYl9dh+ScKVX4dNJ8HN1HmPtityp/Y7n3lQ67A/TaNuOIxCi1UdFP9\r\nrfoqTuAPQafakj2GuTaU93FgJepIzJ4OO+7WHl0OKNjEjXY1YAS53gUe1Fuw\r\nPZjMYFOPWLQJ+LoBpzXWeypnQc9qHZamiJ0trQVLC3ffSrm5QJSBNTWQhf/j\r\nydAXGnkTOQpVY7FfUQdoAR6l6cGDNClVoVRL/nvpi6i0ojuKxoOHBUTJ37L/\r\nGwzFbDi9ddK4CgJ35p3b2BdYUmUxi+3fPafSJTuKLvjdYgE/746PjstK6Odz\r\n4xrPcHlt7ee2alLf7k3p766AGnPIK4oKenEGbTnFj+GuTB4eEjmjx44Zca/W\r\nDxVn3a+0+oMxmPefUGJlsvanayaygdCDtDmjZ01fP5AtNC+vifNOJQfjGAbA\r\nm1F9gK9q5DV+Wmsk+LsyyeTy8LH55lkIHDQ=\r\n=Xne5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.4.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.4.1 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.4.1 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.4.1 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.4.0","baselineRange":"2.0.0-internal.2.4.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.4.1 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.4.1 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.4.1_1677194214815_0.6249969002342008","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0d42b86d2fd0ea6f6ac3e5692577274e3d4dfcd9","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.2.0.tgz","fileCount":36,"integrity":"sha512-RZhB/NjJI2LG46I7qMlXzsRYo+vLGQPmWtFmaO2fZozIMhFZPV0NXfwxcL4BySpsc7aPkp3Tom22iD0Q5exNcw==","signatures":[{"sig":"MEUCIGOd2JnyZQ1azSd62zpdlld+NMHKVLKxpP3hvgyexG/rAiEAqA7epMXi+/AMSsyaDWfyZGhNPsmWU/ir/L1c0wEn6+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+Cd+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmriiw//VL/hIFxKjsD1Vh1h1Le5aY4Y8HEfEb8Ml55bbYvf1zDWhwSv\r\np+gduS3zQJymJL3Iz8PqhpA1uijFJKnyxsZyoryTc/IJ7fEernHmv03zG54U\r\nFqXaW0fIcuLcHZrf0J0soGZW2JNm8VBacLIJnTStS7uZjcyacl6dwqhX9Z7Q\r\ngCK0Gj/nNehIlCH31o4+Bkgy99H2O6PbuYp+7rqB8xRdcSwbjrz9P60pd45W\r\nlq4+6644wgXOYWntFKJiTqGZx+wHnlT6ejyEc1zb6f2++POARcOMOvab7Zqd\r\nPmG89flcV1xmygmnkmcyK0LNVHhvoL4lh53gY3/c8HJO403C1gzehcOQhecU\r\nJaiub3WCU8+K0DXbVMay9Q6U/c6oDssp/IVlZYqwJyPikJ0YQxa9gzMiRi+j\r\nSQVyox/Yw52gfwiMR1brXSzPzDToCtWUtouMJZjiHIXrSWj01pjuTnw412FS\r\n5OrJk+TwPqJ0e6/RL7xLY3WMLRFTsY8z4b2YT0xiLxfQ1z+LNjok6ul4841s\r\nmF3ygJIszrESSSvLlLPjL4i5A+zorRDEAN9Vyqwr1U9yQko14X89HTUWT9Gv\r\nkenqnSIJQ0mJ/jzVRWw+IDVylDI+ylK0GlZAkTJLTl+7ce8lHNI5kMc5tBWN\r\nKvwuK2PDo+NAPZDUZeSrOSh/9w0yxzzA2HM=\r\n=XMM7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.2.0 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.2.0 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.2.0 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.2.0","baselineRange":">=2.0.0-internal.3.1.0 <2.0.0-internal.3.2.0","baselineVersion":"2.0.0-internal.3.1.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.10.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.10.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.2.0 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.2.0 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.2.0_1677207421986_0.4570823766040384","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.2.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"292cbcbdcabd19b7f070de3168e46ebbb4cf332d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.2.1.tgz","fileCount":36,"integrity":"sha512-WMp3fOWnwKhqnkVAt920F1Ggnrl4WkCdHApqe6tqKZMnypi+LusOzuOZi5961Uorlqkoq/u4aBDIypwR5rTB4w==","signatures":[{"sig":"MEYCIQD9li+J7E1n4AvklMT6h06FE1in1zlPTQEihEOmZjgwbwIhAN+C2ICIuhGie5fd8s/ZTEWsyf3u1oyV5g0DLjSBRyFr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/Se9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbhA/+IMwkdtD/GtuYOuDjyUCKNsw9k86ruiP2i6pwjW6+oKqOcrZa\r\nJ0V73/lkEBvCPXweWko2ar9MUxFUxqu1r53FHGrVwsTOZFPaoYJM81MYfPD4\r\nUsBiEcAj9pSvOjdj6OBtcCnhqJSDHdZhg2usf2NsJAfgapRs7btGytmsoDaL\r\nIbWuF0XCRqG7DEfuUKxnCjmWxeH6FhQxR1BRYI97HsZt9LJs87YJGyCyQZa4\r\njVmw+ChTh4p2Ka/FQaViSEZRa0FM8WF+BY+XpEkMq3/1ggRhKK5ICdVAkp5e\r\niq/LNA2AVS2BoNWKVp/TvXOQ6NdzB9AaLkeSfyJJyciU+MSJ5HkxFsB462hJ\r\n/a1AZ1XhI8P57dGB9Z+dZfG7MinuCF9IrY8CrNGuuH3R8RgQ/qpM3Fgb5BxQ\r\njxMiqrHbJR0ukqdnu4m4Z4RNJ1hpAsgwAk8FYULgRIud0yN/Ux8T08WFOZK+\r\nNlBQDFQCwnwmZQ7MGW7QGSlx1EITrRogc+jcxTkFoWBrpfkoFz8L38mGKV1A\r\n/cUfdp8WLxNtMa3DsOspv5huVDcBG2eLe/8OB2ickQPm6whsA3zio3LRSSBo\r\nRb68ToELZaQC8q1Yql+F8q/CJqQWmxCZTdtUK4KK+YkW5P1nk974nTkMZxOW\r\nsZH7IAaM3hmiBqNTl1DqXbm/D3KllqhQ8u8=\r\n=Dje3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.2.0","baselineRange":">=2.0.0-internal.3.1.0 <2.0.0-internal.3.2.0","baselineVersion":"2.0.0-internal.3.1.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.10.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.10.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.2.1_1677535165801_0.2717705726977582","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"12f83c3a01643831c5e5b32a30c1c6074c507802","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.3.tgz","fileCount":36,"integrity":"sha512-RIlvCiKvgoctAxHxDQvjoQ1G1M55DxbCSYLSQI7EXKM4NrVhnwf4IaTmwegWn4OCxGrZCPEPktnP+xgg3RLdig==","signatures":[{"sig":"MEUCIQDfFvLUGUurWsWldh6AqNHyORhUPvzO+CwfxE/UI77ivQIgdGEeC1RBllL0ykyvehOit8q6TsCIjqygWLZOWajHvhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/UKKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqS0w/9Hj/QH2X5xorIrH1lrGmw1aIdW6HrEMxGdKGb/ZvMMNiQ0pPA\r\n0hfA/7b5n9yiWpopZB+3aEnej/pspGEL63KRrD1VAJq7cMyg2GV02QT+224P\r\nftHQ4AYjlJ0MN0UzyrO0T3WAwNueXHqtPFjB/o7xn7FyXlpyNU+RYb/3IT6p\r\n8EliaOhttMU9SYrE+llwobB9QeQ0ELqlYx9vAytB/r0Ta2ew2JtevUQYGk5s\r\nssSmcSBLJzZXUFjymdXDpZUmIo+gfZy87aF7WUpZn3/sH/3fqY8ETd/dSst7\r\nuuwbVCXHaLNqzm8r+CAVg6CvEEmZ3evpsoBr23Crs2R61Ko/rDbqbG9PDyV/\r\n603SMTRPkQmfaNrk31aRiMQChdmMfWPtI7opECaQv0pU+4g95UTxv8c7BX6o\r\nwMPQJ3IjPdFYi/5Kia5pB3VAyc+dc4PvSIieimb8U7s4nxjxqJ6f+4Qs0wry\r\nT9g2I1ZG/nHgXbwo0lR5RraCa/FGA3wE2hmC9VNR6b466k9pc0gdTblj05lu\r\nRGY55j3y85SJZYIErJ/Q1pKCih+rGh9V5dg1plcR9bI6DSbGW2NP3jXrItjn\r\n2GUh5jLcAwTd6PBQIu3eAP5E4RlHhxIiszNhGfKa746BIQnjSzvH1TaDztqk\r\nSMK2Lk/TY45BL9Kfkn1KYqRSeALtbZQozkY=\r\n=UsTE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.3 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.3 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.3 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.1","baselineRange":"2.0.0-internal.3.0.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.3 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.3 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.3_1677542026271_0.4686497162778622","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.2.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.2.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.2.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ce1057965ba0fab7b7c8c13bff5bc587c7751acd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.2.2.tgz","fileCount":36,"integrity":"sha512-WpPfZ2dEF2w9prt+pGGwqOGKtLP3RL2bhRgvXNrgDY4rvw3q6gzTV2xW+/M9xqtL+8Ra/bJLGp1hAoVgFJsAJA==","signatures":[{"sig":"MEYCIQC7RCD1HDxDLXTejpviM6TlRfKn/1bcSY9ark82u+E7OQIhAMp9C5KBImvLpQZbSgZNJiAg+UknecNV3g7tYWNMyL9w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/pYnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHNQ//fDGNwnohmyIFTn9mcRtRepwD7Jzp1qLsVyQblssqFHkc31eL\r\nIZCWcGarKkvhGYU6Ud9CM73eSGF+kLHRUqKKnVItaY/oe6cg6BKheaCf+S3u\r\nl2DZjgMnTNUNeOcfQbDFXnprua1IwMQJooxwWCOe7RXIIaV3mAQm3OzUyhqO\r\nrfjcdX7gB0Ww85XX4Qhjoqs5lFX/OuIZtJIAAEXX/Q8YZ3HdXZQ4IXJklHd7\r\nE0YAaeDNujupIVcXBogpt4EPdlmvBaFMFy0DgG0Kas6Tjg6uI9YtDvsiTTwn\r\nK3KoDKX8dnv7rJbhQmeBY4uAU+LiJ52ke34PRqBMQyIHaM9HMAvrCi9/Ay7f\r\nic1jClJi9NE6gU6L/pUyNPuW5efdIPY1oCb2bqp64eu0Ek1c3UApwxaTgwOq\r\nwGRbNvPhIuv/fOZMQLOPhxecQnfrZh8arot5dlpLUo3cXh/rYAToDQ6DgmFE\r\nTOX4D5stw80k03AZNMQ1DxO1+0/nWnXkqArcyIxPDrFsRFXWy7rOeofx+TNW\r\nCuqMBaoIqUhqM5jgbYpMy24s60jtEmjhmIXw44oB5wRw0IcE7Gcby8Ja3VJ6\r\n5DNWkHmAyMRZeT7X8xzTRoB5QOsflxOoJx4zKaeG4oV/s2ODUlldnI01oKiB\r\nQZ1j8y1Ynny/1ZAiEZvSKJ3FjQoDqQsRzVM=\r\n=1M0I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.2.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.2.2 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.2.2 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.2.2 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.2.0","baselineRange":">=2.0.0-internal.3.1.0 <2.0.0-internal.3.2.0","baselineVersion":"2.0.0-internal.3.1.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.10.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.10.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.2.2 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.2.2 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.2.2_1677628967202_0.38339176713391976","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f7835f45ab2a517e66825aa25a0e69cd0112285a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.4.tgz","fileCount":36,"integrity":"sha512-hy42QbjSBKnjStoMtzgoRVj5jdQpI3oTnb+zfEGR6WmieNaJ2WMhGQ/r+unkWS3EKDT95mAHijcGbQ0Fi3GWjQ==","signatures":[{"sig":"MEQCICelVk/AZP9jiYWJZIf1yezDyUwD4mnTsqiZYbw6626pAiAXsBo+KpOora10Ytewezw/MHejzBkZFWT42fYJWikz0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCoDoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/wg//UvixTFRfUD5WvIGZBV+b6KldfTHJl6ThB979Uht5ror2psF4\r\ni5o18/Eu90nY/AZZF8Zr7VEOjEOXSG+NcgNvm7DIa0e/FqECaxhaM2fG8NNC\r\nuyOWz+Fji7SBpCJKY2yEYOv3qzdiqhTUq6yS9pbeZWGTPOAqHJy5P/s6SX/F\r\nbSMDmpYaSsBXhzqYEwm+pSFntpb5+7gFmZvLtKRpOt7wqcic0cBqNqwu81Jl\r\noUbwc74lRBkMVu2knh1ZYVdB5pE9Q3pUIYn/86EpTV3gSfWtSsM0EbNkQmLW\r\nNYWquK6npZO78sCKEjcUp3uimwfW7phNHkItac+UhVv+NRzMOjVrnWiAe/f2\r\nEjp32wFpHlGW4Ko2u8O4gBkqcXpniBxCmUmD703yJit2yqEYPqtbpOzqY8PR\r\nC+IfIGekQk4vq4wA61ZYaO/qFabFVppyKcpW5qajsKx3Aq0yzc2nnB3vyLcJ\r\nVHaz4jZw3/lJtHGEcGaXs1mj3EjQkPyzYtb0/FmwMXDfJ4STc2MtfkvjntRZ\r\nUbSEUKs5T/zpDujeiYh2Dr6mJN9fgYqHsDFQKrZIjn4JxjXxCHXVEvd5a8C+\r\nFxQDtDyk8nI1AQjjgl8cfInz3pxiSKZ/CH4rkPK6GTZQTEO4lwKBeoPHD/Zr\r\njSxY3Im5T8BMn4/82VdIHcucyhUSqQCWYGc=\r\n=ZsBo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.4 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.4 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.4 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.1","baselineRange":"2.0.0-internal.3.0.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.4 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.4 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.4_1678409959993_0.6070617340362936","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"5f742fe1e3817661098888d5604516a62d113778","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.3.0.tgz","fileCount":36,"integrity":"sha512-7je44i5DyGJFUg9bxkbWmC4J8UIbjuyyuAhVTgncLI49neROk+AcfHlv6BfrIKkG5fXPHtx7JU+/pgjLrz7RSg==","signatures":[{"sig":"MEUCIQDR5Y/GNRE7yJxgXaOHm5DQARps9zzkPRj8yyE6/JWKlQIgDOgLWmBbksq004cqj4D3uOmguQZvBg9jH81XU9KwaAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC5NIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQJQ//dakHcSA3XfKqdAEilMKln1yCvxKelteWVNIQZ2hoPAWNC6Sa\r\nLpE67lTZczQLgaBJ2zHt+3YLGFLRJN48Pchwx1UE9Rq2EKHw3rtxVwDtZ9UU\r\n0G2bxLaVhqUXh4uzOeM0/Cfop9/bNHcn9SdprOvQ3y0SkLWH30yLSBpvUzX9\r\nH5UabC7ykA4vQTwzXqr94alTaz/kSAgI5z/EMWnXL+RygTt/gtSH8YC8vVRi\r\ne2iulMdMje+JZfQHnS1PkvlBvIqzjkODhvixR538NVGQw0jeAyPKHCDhkcnE\r\nlIHO71rop7XTPWkGjmXHgS6QY0Vo3VMlBgyNK43A+OouK8XSOae7YjdoraWk\r\nO5fQzYqUeWUyfqA2JWHkb5d3vRsXOs2bGkA8BFDKGM60PhUic81YqOfjPRaU\r\nF2rB1x0aYooZfSqqykncq3qF+l6kgPDGwkEi+QOOhi049FvzFuFAdM90qm08\r\ngUZ5D3jbrsP2QlvMK/x9dBzsabfgQi7yOcuqWST/0ytEvTmyvaJWPLlsr97S\r\nn+SXEK17BBG0V2xVFZofbWsoHfrhVCoTyClWtUUXKL4o7re4TGSHuo0TYAow\r\nZQmUUPG5M3faiZcbXts7sd0xrLorK0Z6RPwlPUPis7hySetNRkjU0uBjDnE6\r\nSW4Rq3uiEOW3OQ0jHaR6I2737RX/jD0TdSo=\r\n=SbVN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.3.0 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.3.0 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.3.0 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.12.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.12.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.3.0 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.3.0 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.3.0_1678480200411_0.935338286358087","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.4.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e5ce57841056b43e4d0d9d980afe973e5f442ffe","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.4.2.tgz","fileCount":36,"integrity":"sha512-a0NFudfTjS0xfizHOqoEjJjHg0ryo8RVWw8zD8Qn+rY0qJ6FcOrCNBzXteFLdPZ8elOYCljfxB3OhGboXi5FLw==","signatures":[{"sig":"MEUCIQDelsbMNRb3Y13M4RTFd7+5I5LEpIf0+jgZRplxP66Q/QIgehAgA1dZmtRai1I7JShzQXFnz9oJ12iedgdDInFN+5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC7ctACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmriiQ/+OaQdSja3bcoJ2S4NSQgZ8RBn7PE+W+Fqor562Bq0++Y1B5OF\r\nEv7bQSoaTj0+VVJRr3ieCbKP97PuJMql8QCm4lsHRlLocooUVzV3K9qsQ+T+\r\nEs/clfM8I0JhnqWxdgemc2ueCNiOgOtqZBwbK+xbwIMjmMeyeDAJo3XKFZ5d\r\n1rpWx+NJaTB5h9n77DfpenCnMcbzjFrO3KU18lmegst1DBsJ7YCvwsEZ0qhS\r\n/+HSkJJf3L+pE2xqvrxORDkMO2v8dPxp5NtUOgnMUmV0C81O06tXHz4oYV/9\r\nIi63KQEMRs0nCAGIq7vS0BX2pfACa3Vodol61eaSSaYNzeROfS+4iNYa0rFA\r\nPHgzfs4eZkP8SShMUjoqXyaBiUKGDG7zwMM5bB9xoSgMxXasdWbDIYJt1Ls8\r\nlQIZAZYtjcTpfXUEhM7LbbPNKjIJFmRnpNEGjWBHtAaxoniBAFWe7O4l23Y3\r\nzrFOsHqQjjaBwEMbEJ8tlATFyJRF1+M0NiIOP2jjnAXzaVbIAKCctUGo0g3A\r\nKRNx2Pjx5EAiOWOAVOBzqKo9fRf1vP123StjR9q0BxuKD5XimMLwaFqbVONL\r\nxr3QGeniZEMsy7N2Xr5YbewHVS78DiBhDOLSbGl4QjYd0OpkzJCfmS6lbXIQ\r\nKvl1KiLAbbmjNzOmjdej0KTBCUKooLVdXXY=\r\n=YF9j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.4.2 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.4.2 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.4.2 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.4.0","baselineRange":"2.0.0-internal.2.4.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.4.2 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.4.2 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.4.2_1678489389349_0.7514853206542251","host":"s3://npm-registry-packages"}},"2.0.0-internal.2.4.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.2.4.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.2.4.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f0a60ca611f1deaa3c9c7a29f511a12857b9984f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.2.4.3.tgz","fileCount":36,"integrity":"sha512-Y+2mUD9799PyX9JQAUF2HMsWMtEnLyynFaXU1brW7Ut9JIzhmVOxhfHPqjD34nrKWarPcr8HTawsuPkSLCvD9Q==","signatures":[{"sig":"MEYCIQCl65hawvSzvJ/oiAYqtz/aRKocBQxXHiJiV+sC7VwDogIhAN+o9kCaQzmZgQGN9DzEun0rdf+l9TwqdLuhOyvPm1ks","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE3bQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1UhAAlTmrLKZISU0OviRTaCHB5JmwW2lLNxBn2sh/+LzcZwWNzK6/\r\nc9SXLeuvXn5H447CRk3ltpulnrEKmKPgDI44kirsCYJqJaR6CktloM68vEk+\r\nAiP1oKe58qaRMd87Ii9Iul+/GlHCoeERz+s0qDueJtkm1MvaJmDgTFP0wMUl\r\nTDbqOQyC7CAs+tV89HiMknjOx5W7BbaepArjPwPpQlJXjCJQg0+tOaQMJ5Qk\r\nbE1oixJvjaB1Z0xLA3JVPb5RqXVQGmy1xlQ63/8S1UMcIBSaj09SUT4m7RNN\r\nEFddAQu7A3SH7SaNcFs8mT/9T17OB6EVTL9Oh8/crsZmsu2uJbUJVdJLnb3S\r\nuO9m/EDIhCoI9rh6RiJCfri1WeCGY3me/XyUgQzw8P2xXjgg9rTmtD2gac0h\r\n6ovLmW3so1BNhQmhhog3RMmSGQlPcZNo5QdGWDwD3s82Br8pVTZcsr5VGs38\r\nl7BB1CRwX8XYCcLLvaCSSdLoKhfU2lKGweao0EwkBvgCrDvWUvhxVY54TlDm\r\nReU+6FcWsQAt3nv3qd+wo2RXDySVKbXnOk79UbVVYh0sTTQymZwj3Api64lF\r\nDWzw5x0dY5bTwi93oS5s1AZLdkTjpCAV2+xtl0Plc/Lp9pZWtHjNea5jBesY\r\ng+luu6sSl8YViDe9erjI/DOfLZsrCXv0uaQ=\r\n=2mO/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.2.4.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.2.4.3 <2.0.0-internal.3.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.2.4.3 <2.0.0-internal.3.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.2.4.3 <2.0.0-internal.3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.2.4.0","baselineRange":"2.0.0-internal.2.4.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.2.4.3 <2.0.0-internal.3.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.2.4.3 <2.0.0-internal.3.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.2.4.3_1678997200144_0.567448709207335","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.3.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.3.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.3.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ea8679ce9855c1b355e8a7e8c7573084698531ca","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.3.1.tgz","fileCount":36,"integrity":"sha512-pHc2Nmwwx6fAIAvfcjwJwjlTDp8Aq9knOlYykPizZFYHHDHT5/G7NZcZOuUFZtuBf77vt7WyvDNaA2FShMtUTw==","signatures":[{"sig":"MEQCIDA6tg0G6+P40SPXfYJFS1i/Cz+mjOn/qvc8gPfteujdAiBXuqeeOODHdIA+wf6SzlaPtlTxogJt/nC5QhAUN+SeuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE6gwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1xw//bdAZ02HQ/FZ8zf7p6rTv75v0GGoyn2kdtfKkAY3SBfVcQgFW\r\nmenC1dpkumXVX5PuD38JujflsimYgjq9Vwav0WG9RlVn/1okS8RsDdJYGrqU\r\n6EJnEwiBSPYgla5D34I9o/7YjQbgbLfwdy3rveI6+5Yikunnr89M3oqgubJO\r\nCo/9z41NKpOnQP3lxDWicKiiOhQIUaJuENNQOwpW5doLBYt2LAveMmGWpKuC\r\ni50/fXKGCGgcyt8/CEYxy4UZkAnfBRhjCSMrah6MfMEbo0vitH+fsBByeEpt\r\nPy4VybcE+sRXWUJytAuHFYDRhq8ViXlCcZs57CqITBsj32MDLgXC7x6r03Lu\r\nAwA54KxFDKpwFljXIJ8mEU85KJDtDt+WKrJGAVlLeebc5xyPcJYzpECmYfT3\r\n5GItX2oAJ2dQonVJpytSZEzqIciOtdIPDoXPBLL+GOei++Awy2Hp+jX5/t2x\r\nI6pyZFqDdYzt9ChFGVbvRk54Pnj2hjmyG+s678+Sqi558L+H/iDWdgHiqCSU\r\nhwn6Fy9IyQcGCAsJOjSCLZtYScOghCg8Wa+ZO9hV7OVpjAurAslnAVUST3K4\r\npG/QJTg0D1QQgmzOkVkNsOh0Y+knE4Kc5QfZMiAOLXMHHCAY73tqvYGGPrrN\r\nQnzV8YswUhMVhbONt5IWS7k0v9sPfsWk+iU=\r\n=qWnj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.3.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.3.1 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.3.1 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.3.1 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.12.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.12.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.3.1 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.3.1 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.3.1_1679009840501_0.5740017628327072","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.3.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.3.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.3.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"94b5111d0ecbc15ac3b0de33584a39e0f0c68db1","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.3.2.tgz","fileCount":36,"integrity":"sha512-YZ9v32ZOpMy+tnYtO8EArx94gb0lpczq20uktJJ3M/llleuAI7BfebbrcTJpzDe6Dim2lCiGN3c91KsBL3njfA==","signatures":[{"sig":"MEUCIQDThx3cUrIy6DGNRnOBPnUgNmnmJOXrXm3s8rgpU9z8OAIgWFAookK4BPBBc9t+TZyllZmqxfMxhz5IeLf4gkJ7AbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGQICACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3Cw//VWrsMyJdFQekwXZYqTsXJM7sOQN012wZ1PLOAvAdPyHSdJhp\r\ncESWxTu9TZMcaddVMVOdxlI15vjyCA3ZilrTSg3rbMvILn6cCwmxz/eVmO+Q\r\niJNdimJmFaHpu03/dYabBR7V6pJft6SRrHSGvmKu/Spe+8skm7O/qD9iAxmo\r\nIscsGEU6IwJ3Govh1cqNZw/cwC9nW8riPMQNj9gg9pcX70Vs70L/9S6CTeZj\r\nxOA5jtxX4UZZziqhsWHFqItdf2NqTbo1UFjeITx/M9cu2ZvcOYd3ne7y0/pS\r\nFK7mRbVlx1w65OimlEq0owavDCbV+0CX/3uOAwUwTB9mjAWTHV+H4qbGv4M9\r\nMC+5pvJHXL1UHGMuKneSC8vICEVGMeVBdzTNlF0jbmLhW8x4qbk5JQyl5o/M\r\nMuIt9gxlEc2MO9AX4O4IDMp73AcVJInHM/KjE6AQqjbyysfv0ptREsNANJ0h\r\nF00RVpl8Kvghhj8608Gi7f0o9pXJEyvGTPLLSXBWWVEVOHl8SIrRx6mjnkJQ\r\n5Xp+K/fzg26OhhDfdsJDBqsSin8Btwtx6telRt1Wo88IyxdRytWYkWXSYrpY\r\nseNaIY7WA2zBGHwVrtlSaMym6NKj+OJhqKMyDv7qVJqNaVprke6YUWGMQ+8Z\r\nLU3MXRK+H8r9UNhpp2YkCnkI2YJ1/hQuRgg=\r\n=uUyj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.3.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.3.2 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.3.2 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.3.2 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.12.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.12.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.3.2 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.3.2 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.3.2_1679360514169_0.063076076210562","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2b0a2b0027ef723403c8f9fc635f0f9dcf7008d6","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.0.tgz","fileCount":36,"integrity":"sha512-aKLyQZZjGOCDuL5Z9fS/1Hoj/49q5bL7wNlTVP+HHKEnTEzvkTW06yQuegVYtRaAjT6uj80Q6n1ZIvBisSXFLA==","signatures":[{"sig":"MEUCIDM4ixE9k6l1qLFYbiTAvMeN4jDOEycBoPmCapPnZGapAiEA7THPDGKW6ILLCZ+kOlEzatNCXz+iGkMgbdtxrTXV6mA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkG3wvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwohAAmUEqEJ3T4fvZte65u9v2oZP4w24K39Sw9IWiMVzZn4Lpp9k1\r\nGyyo7Wi/Y01qe9bg+lq+mC9T5TGjFsRaWnoJk+n3LUIaeTrU5C8/v4DsMK0E\r\noHasSXyK2SQETeYDbIOZwA9x+ZfQVhsTwEtOjWGrXnqXAMsgy61scAFcwTU1\r\nHJrvia9o854ObFUsiiotF/IqEcJpfgCx7RgLlZQLiiXdegI9+TZT0HKq/rHF\r\nvHo7KVA6OcCGy7c4jcA0su9mxnB3d91Se8XfM+sCk3YWBPSFU8nMDL/2pB2u\r\nBCDj5WYnIyKo64qtv3YZW22mqOiVPrB1BP+x9qObXUvrKVX/yREi1Zt0dsrB\r\nJFEdW2vHj/otQkoJl+MS7RVzQ8gMoaoU5802Po00nVV+ZNoin3KQmkMO8dT/\r\nedLX9GsJoP1C2O3LzJiHl3ag/jnX64FfnFLfHWwZVvx4TvI9HI5Zyz9VrcgB\r\nViZkCH3lS/u4eQEIYPPZ5aPxacBPxrpQ4YTsWXgwVslYNgOyycJzNKQ07Jzx\r\njopQXLlwSYX8I/7bDBplO+pvkArqPCNCpOXc4oS8oyYNLjLDeweCTGY/VANf\r\nJgBBvoOiPCZq7eii+GMtbq/RoEnhNyHQ899IZdlcklFJjRgemKpZgbfcCr6P\r\nNS2X3vGjClIj3j/5VJ50sIDoTJZ2L2uAY70=\r\n=Iypq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.0.tgz","_integrity":"sha512-aKLyQZZjGOCDuL5Z9fS/1Hoj/49q5bL7wNlTVP+HHKEnTEzvkTW06yQuegVYtRaAjT6uj80Q6n1ZIvBisSXFLA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.3","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@fluidframework/core-interfaces":"^2.0.0-internal.3.4.0","@fluidframework/telemetry-utils":"^2.0.0-internal.3.4.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^2.0.0-internal.3.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"^2.0.0-internal.3.4.0","@fluidframework/test-runtime-utils":"^2.0.0-internal.3.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.0_1679522862861_0.31271056337044567","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"c30c8cd760feb2df1a283375ef2cc0cb5f09906a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.1.tgz","fileCount":36,"integrity":"sha512-q00i6qXcZu3YPwDZsariBC+BQt0ud+GZ7TTWeKRxjoa3OoEJ5LXt8hDJ0500HMIpWUK21cM03NQvqATFeb2sSg==","signatures":[{"sig":"MEUCIGHU8sGNr0s1f6MHqt1TZ/9XdZ6FcKcrUogPh+OXaCiTAiEA8jiUTn5AAg88fY82IOrgdkPf3anh9mMDEqn7MFOEkXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHhuIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoerg//YfuYTiGdyIktd5jf58iQjlvhtcIDjyAl1nsjrPQ/2TvznqFM\r\n1OMQ7fZNPqgs3sacLjr1bICLTpOz/1SiFf+pXL154W1b33PGcMlpDbnZGVe5\r\n8RmTkh2DFSSEUS3Ed/gRhU9K9FdmIVGZLBa64CNzpGfNZxIZGIB4iFKCfh9V\r\nFmoWH88r6v5zDxswDnmzhqJ6CAyuKJQIL6vNDXzegp0CAG+A3xtd4hs6p2dr\r\nb0Re9sgk9xHp2ZacF+68Z5lySiv4smp2znEMzBODxX+TXATQtmcHhgpOn+3C\r\ntbmccr/kEyga7V6fSQhXECIXrGl/it+0dea5wkLVo7xuSqrHpHoEEzmRYP9t\r\nfYuNAMHpchugek7oc6jIo5s9ZZIz9aKafyfI8cnS+dX63BaKZgdZwpUhQFq6\r\nqOrduEyWj3hplzPV/fkVZ22XQ8X3MAlb/nZpR7GCDjcV87/wDud2ZHJph7yn\r\nMU2cZY8rKSr5LnqVVsl4yaGeTqoT0K4nJ4exMjFaA2men46rBq1ISmKOonGE\r\nXUeHiIFl2lIr2JrBAM0R1WixTSHkKUlA7loXiywXeOwzMbeTIqdHDk663HhU\r\nYCVEoCc4VrMmfdCieEBMNoag7xr0gg4J0fvH+FQftPsj3CttOtDJTU2tuulV\r\nMiT3rRUR9AgRJcPRapTqh1jl4OQyyT09eAM=\r\n=zabo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.1.tgz","_integrity":"sha512-q00i6qXcZu3YPwDZsariBC+BQt0ud+GZ7TTWeKRxjoa3OoEJ5LXt8hDJ0500HMIpWUK21cM03NQvqATFeb2sSg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.3","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.4.1 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.4.1 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.4.1 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.4.1 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.4.1 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.1_1679694727959_0.5890605727745393","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"c7ec8fafcda002edccc88ab1abbd93dfa43f514b","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.0.tgz","fileCount":36,"integrity":"sha512-Qw9qIeJF6GYVgDFvUFaL1FpceiDu7kKbSWTMF9wHl8OqFeAKtDo5dsnJLSFXA+7XlAQ4kxvUSIVBe4mLp2ddtA==","signatures":[{"sig":"MEUCIHxcZKFTCpqRZxGj9ZYFK6IqXmpQWiJlKz2tEIytpNNOAiEAkbBie3y+VZ1R3aDrkm8HclSfT8Gpn/b3SnGS2kurg+k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHiLeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIMQ/+Mu50cabB4usGST2sWrsNw122XyYS+rM+/UW8G6QAedbwliZW\r\npO/+tal7mgadDM4zmynCSvxk2EqGh6wNQ9oBFBARE71jUeP943hKuZPFwJ7y\r\noe50WnESsVhi94kNiISt6ibOsEImVAFqxfhncxNGVfwvqKLIyxYLo8YUiNG/\r\nBauzMGrQ8ulYGYXNout2bJ8J33g9feYTGO0PjlJVbj2jnbG4g56yW05qz5h2\r\nAZ4Wnyu1EAW6sywbEMyZ0g9nNC6Ef0hZrYxVhkqEZCbGj9mPWmUK41XMzjpM\r\nAUelTx0IlZG+nUEwG7QXNFijyQzVz973cNcJYyOzbUTXBBIezej9pQxTRs/8\r\n7hiBBbLmfrD2D3WSVmSOfLfO35HeOk3QRdryDZ/OKfZu+Zo7ewtlHSG3Vtyy\r\n3XNvvUyqZGIT2fnZmoV1c6MqbV67tXBIvqENrBPfuG8uy6tkC8L3RmbJUTjH\r\nU6gU+8uRFOgQiK0jihk30jnhx9KCtLxsJNzQ21yQAWMQDHwwd6KzzrtLw74v\r\nJOec/kEovC8koY5lTADhgJBEajyqRgAWTVvfQ64RjEPilbFz6wJg27sSsmbR\r\nCiBJTuz6k5fba3G8p1MuEmNAhoB47RI/V5Czn4VkdH30rxUnc/L3BQKYMXqv\r\nuBXSQUABkb1dRkPQ9hPtYCe6pSlxDhIrf7U=\r\n=lB3p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.0.tgz","_integrity":"sha512-Qw9qIeJF6GYVgDFvUFaL1FpceiDu7kKbSWTMF9wHl8OqFeAKtDo5dsnJLSFXA+7XlAQ4kxvUSIVBe4mLp2ddtA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.3","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.0 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.0 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.0 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.0 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.0 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.0_1679696606182_0.7146749472948268","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.5":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.5","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7d9f4619c917394408f7271f4883770eecbe8fec","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.5.tgz","fileCount":36,"integrity":"sha512-S+GQa0EiRnFcw+0LHowCI6n6aWUGXejC9qPt2nvpDDxk+IdVCIOVEO6yMR06KSV9748wFvFI9Ks27/Kt+c+U3A==","signatures":[{"sig":"MEUCIQCDg9QWKfJgr7YI3FTPC/o97u+4QJYjbyqH5FxGxGZBYAIgCDcY+vOZhSL2jxpODYZMQ3Zabmliu1pfKLeaINc1IPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHjZhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdJw//Ue/EtQLT5jytFlCYf4f+MN0F2M6AIUfxTTcl/R4NDRyjRxHB\r\n64xxKUixtC/S457/iMs8Hz3+Bm+4blIekmCixkWrtFsO/vdJF/KmKgAMHInz\r\nG7gtfSxo4gJgDsVRjeL+bmNr4skNdEamSoaB+LwYQxTSi5BgALH/1Y3PrhTg\r\n/fmoy95vHXPPmjG2xyJSGQu8iLo2hpK8JxKGeU6hxthqf1db28LIA0Q4L4D1\r\nNy3ICD/7Zy9JS65MHhGPlVyCbJo6dlefuNYoz/Q2pFTU1QBCRzlvPqS5Tb6p\r\nDOjIQ9AhT62DwWtw5/z7BJhf/gcUDE/yt2/9xC1BGcfGf3ygFEm8FLZO3c0K\r\nqsiY78mGlCFPdbhlcTNS0F/+S8KSmJHNtlV/wMiWlDf31IXifzIcVq29wjIe\r\n9XQBj3xEvzSi15ZATSHhzAC1G50UY1L6XPeN8cPC2I3wqo0zv7ZzHjQV5okp\r\nUKOSEPsuCSg0OzQgmTMD6vhpcWLBaR0pUJ36vuprWQMp7yjzn67OPvkwoWOe\r\nRYLENkn7OHydpFaUzINehwWPVrt2yOPDzEAU4wMQS0IMcFRqhNKs2YBDSzi4\r\nQYxF4Bgaou5ur4p9jA2nVcPqPuKy0LffIUJWJ2QvGnEmvdXSGsBw5l9PQnAi\r\nvvk/4BcUWc8kZXD/JwgcwWH0nw25XuajgYs=\r\n=0LtF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.5 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.5 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.5 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.1","baselineRange":"2.0.0-internal.3.0.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.5 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.5 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.5_1679701601352_0.09786657430215517","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.2.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.2.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.2.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"eb11e965483f4e547d0a05bcba5137d844f1961d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.2.3.tgz","fileCount":36,"integrity":"sha512-hDBN1gCjB5IJZRgysO/KITZjUP91CE6RzFzGLfLt1qwUOE1ybXw7mqsmCu7E/5TkZipmhcltAh900tHF4IW8pA==","signatures":[{"sig":"MEYCIQDfVhdw3GqFZdGdXRXyq+z+ZPVZs4v8CxtEr7Sx17+DZAIhAPxYoGA3kUxTHRjRFApyxISv+lIP1HQEFqBbQITMkUTU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIeXDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKwA//eaTSJZ0HdHA3c/YRfySWNacWPCZe99lqAqTJtXm8oYUvmYNG\r\nkWZx5LH/meRCchqKwuJuGFkRuLehy6s6Nvva4sU2Yi+VBvVwRouz4E/bhQ9T\r\n//rdsz95C4mjYMtyOoKP1nHK1QySt++vu7j5F+K+y1BAvzB+mJD/8eg+QUHm\r\nOWqt97ig0qnOaaYAKkH6oNRMFAjREsAsB5j97TISzrAcG60mOOQ70eLXgdrN\r\nWmK/LNnub7vgp7yjgKd0hBgXROrTQXbOWD7Vpvwmm2A/KGBHjWlUVVLm55qz\r\nChFioJ44JQp9XkHyA/MtEqfoZn5U0+23Qo6uy/P0i+6mLZZEMZmpC5jDrfWU\r\nuv0aBn1pa5CW3Uw6/FA2obaYHocU/HD5t0JOvtQw8Yq70dTj8T9xRK2um7Zu\r\nd6SK3azY9JczwyxRaMPEQ4IaXKwkCa/VDodtPBTwZZiF2oOVVkh04caLmpwE\r\nD99XcBK9xYMI+hVZLZLTlJg+RMv0M9yFiq5dpKA51VXjiTiNercWAeax+Dp/\r\nXWWG+1y2bUNinsONY6Z3MKHXEU+xdInJJmz8BpBiL9EH+1T12s61hpW2JCVs\r\nWpJqzWirqJ3uRV7k2a+GJAhEaFj24eAlePLfXnJtzfcdOgG8/vZZ6QBVimEm\r\nWeP21RTAuUPFV7NZ/xmD26UbI+9c0S9cFAo=\r\n=2ezA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.2.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.2.3 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.2.3 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.2.3 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.2.0","baselineRange":">=2.0.0-internal.3.1.0 <2.0.0-internal.3.2.0","baselineVersion":"2.0.0-internal.3.1.0","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.10.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.10.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.2.3 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.2.3 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.2.3_1679943107486_0.465770149217972","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.3.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.3.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.3.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"6be8eb73d9e4a69f55a506fe702e55c508787a70","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.3.3.tgz","fileCount":36,"integrity":"sha512-ruAs6gmDR3byms37IZySIEfVlolNsM5/WtQh39N+FvwJvL6ZlJsw/HBcp3AkL4Z7jeTdkTgFLkXBkPF5sJu17Q==","signatures":[{"sig":"MEQCIEiV8pKrQ72OePI2rsU3zpENvucKP881iO4BhhX8MBeRAiAvdVrHw42idjJOcTCSvL2dEAaSOLk7rm2fGmzUkot4hQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIektACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraKw/8CbTwNHGYpVW1I6ggrwvjyX4nESHa8E06bK64I7voRc603hcH\r\nRdwlrkvkQn0OBsuda9G9c65a/0dU/VsKQ49vGI7r4XtfkDz49Ns43CnYgAuD\r\nVggJ8+qqfdA8zBV5LgdJYpK62iBAdktgJMDpZIkzRnxRP61CVWCECozB01Ef\r\nihB3rGXgVMzKxsbYcGWmNwWb+BUBhXQgeeAFFsM7cWNiUzXd/HZIe6Dofvqn\r\n7kUjv2l/T5+7q4E6HC5LzHwgU62eLKTq3XudzG5c3O2Muj+Hbhrro9ZKwnzD\r\nQM7iaAg0Kd7mB8JQkJV+aX+vYnI9lWdmPz9wWCYuKb92cIG7q4iq+XXdJ76M\r\nqTKsSWLUwIyCIDpMBPeSF1JRFXjggirj/ZCc4xXqGKWSJ7u7uestpK4CI/mi\r\naYQUc6mZGCVhsgtC1Q2mLYpu+qvdWCC50dxiPOQTSnXzvhHxwFhjCzS9BF/C\r\nX1sP1N//kRuYnFCbvvN+OO9FFblJvqLXoWDQcevqHCj1lmRUorb9HOpMYOeJ\r\nbCxJL8BO8OOlYqNjSS8u4a0rTDKjx0NDzo1UevYA4INUv/N7E946Xm3PJjKF\r\nK1mcZHm9BmeabJkRXgIr1yxADxAhtia1helTCnZZB97rRUAv+SMQk5zMFepx\r\nIjVe0BM1sjWaDMCjeYv/aBpPqJX76gME9OM=\r\n=lLaw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.3.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.3.3 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.3.3 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.3.3 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.12.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.12.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.3.3 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.3.3 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.3.3_1679943981574_0.39814199111180604","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"39a7f4b64e31109336d50983f93919f8f8ef13a2","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.2.tgz","fileCount":36,"integrity":"sha512-JkzB8NlMmEtaHb3RBkECeJu2t19xCrFt7iFqeih/5T6nAYlnFqG3t9UOsPMZl3pDC2Fuv1rmpB00TQInAwnXeg==","signatures":[{"sig":"MEUCIGCZp7wa8FXppVp4Wg/MV3h31kwdSaojxRD39K4e+BQfAiEApLxTt7nfyb+SGhuKDxxfbnO9dLQexHL+6fmDXDanxNM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIenlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpE4A//cdX9i6jt1+wgVvmFQthsNDNY83yrIq+Eym16QdEhKpxFcvzD\r\nWiGI8bQTR3Om5bc8WkTozE91saQAcbIWlx1ogm8LzJS9piFhU1AdzG/JFx6Q\r\nEqVtwahvx63DeWmuT2RgeTQA7oy7cG5vMWh08Bga50bCLK1g4pPHDsKOE5yc\r\nAbU1B0DQyKkeEiXH20IaphyWdYYRdCo5z7FZk0Ppf3nVdALGyP/ndYvt/3RB\r\nJ2AEUPUJfCFqH8dAoJsK1ot7UxhZUrb/ZZLsg3xGMwb++aT8PdC1j+B85+H4\r\nLqvKrHA4P4TSqgfdXB7ClLqT3eeDHudpEQPSii4hUPlk2JPv06RZjakTo1eL\r\nFM+UaJ0GbCpmVgBNo1a8vRnf67S9Q++kGy9EVvFcG/So6PY+0UlOVwTGSZcJ\r\nT5ciQFeisMUpcnwDbV+ge8G7/yCzoC/8JduSe4YjYqWUCGa5Xk0ezmFKIYWD\r\na4KAl4QDwGj2iG2X6knHOsRvGPcAz6XMRaEdt2VAUUSTftJAnJxMn1qIgvau\r\nnKx8eUkUp8Yy9pqlWgnIwviNY+C41AtbQCx/9YjFfNklEhqEh4P9/1Hde8Jk\r\ntkTyYlYH/XfCZHr8Wjqkz+4vHVm75L64MExwMXVbLE4JjyLa5xgqCfuKRWWC\r\nMsmoOLrMsQEXlpE4PvgjJxehQ3OI8MdqT1s=\r\n=EzEF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.2.tgz","_integrity":"sha512-JkzB8NlMmEtaHb3RBkECeJu2t19xCrFt7iFqeih/5T6nAYlnFqG3t9UOsPMZl3pDC2Fuv1rmpB00TQInAwnXeg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.3","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.4.2 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.4.2 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.4.2 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.4.2 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.4.2 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.2_1679944165043_0.23772005386167572","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"82fa21e8ff70162d081ce1bd0cc4c61a8aecc6c3","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.1.tgz","fileCount":36,"integrity":"sha512-rGvVGoJvPEZr8bsX34d1MiX5ZYRX8VyFczMUP3AejiAHMokYPusI2AsbAcV4oskKRglZoFfkFyUz9bqCziW1rA==","signatures":[{"sig":"MEQCIA1vaBtQ7TJ9RGJgUhKLyGeX8ARlbQ+geZniKwia9PMKAiBEUui2yoAoStR+s+6Iy4CQCALPMABbxGS9h443LUm5ZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIgrIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQTw//cYZABguR4eiBoXdrDGieZo42zN3qpYimWI2FugBh+4t1ReCQ\r\n5Pz7HVwlYWVbzoCejoT8FEUF61eCUgtaKs1reKnjt0S8K66cVOHftc5B8XE7\r\ncxThmaklwVEYEaqppEj3FeeaB+980md+NP92RF8plErC5EWlcxo+UHyufjxV\r\n9KNIUkH4x3ea++5b7499WiI7bw+zsBzTpRa0O3tgKCcRVTGjS1JNyIv7/h+M\r\nodKwQU45n8rg1OIBt5Nsu5WahrDD7LKI7eQU+2UCXMBEwbtHn8qhNuXndJmg\r\ncT9bw0jDD21oDNXmSpAglAcEL4pkxvV9keGF32zVgnv7A68NexrnYhyXqPW2\r\nNX9vKis8JiJKignI/XODAtHgRoldL6KHu6cj+eCvLRH9et+bW3B6HFddS8Jp\r\nIAtCjrgR8xJbSdaJ99C2lw37DfX+8AnySS48nNmyyEVu+qTkGMz7hkAW9V/h\r\nFbTAt3HjwrjQWtKary7mBYrbNCuzPgIffLRHW8Re9cs1MMBvMLKEC7SqT52M\r\ntcxx/xhC8C60ZCTJNd7KzDu4aGyqfSiCmziMDEb3R7/XTeFKFpR73LeYnNvB\r\nftdU0xiXnWgqcOoHdLyqjx/IzJEMEqAPE+t/bZXq81hrxr/DS7oVHQICC94D\r\n9ED5o7/gDKaeElj15o2FE0rkTkWDwtQRnFw=\r\n=S7YH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.1.tgz","_integrity":"sha512-rGvVGoJvPEZr8bsX34d1MiX5ZYRX8VyFczMUP3AejiAHMokYPusI2AsbAcV4oskKRglZoFfkFyUz9bqCziW1rA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.3","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.1 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.1 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.1 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.1 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.1 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.1_1679952584034_0.48056228782410293","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9479bc9613951ac4e81929001b31b8e1722f38e1","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.1.1.tgz","fileCount":36,"integrity":"sha512-YsSlTfR7A559lhWXwkFXkEfjtxR8rbV5ntGWo8nk5xsWzTRPltngb+6Luexrr55Sg05pm8GgQ5uNmSObbfUAxQ==","signatures":[{"sig":"MEQCIFFS4374B0kme4hH0UwXAJ1rAUitc5XSqGoNlkDo1s7rAiBQA5kxRGivLk41Y6rcrVfrFCyJyX29wBdi5Z1IMBDL7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkI5c/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEGw//XWlf/IqdrVYpKuTTrVBX6ot5w9uE90hukZ//lS+TE9uTGxPp\r\nCh3HoyYMQjPYAVJ1sKQenoq2fsjJ/QgNRczkKb4HBb+INAmgdlnsNieJ6S0L\r\nzbdFF4rDumAfrcIpKuvzCdOg+3fYNCpKrLHMetk6cByjsmkuOnwQKtcHgP1/\r\nc8Pi6DfAd42HOUIEdLrUyrfkv6uVzxgAQaKEPJZDyNosYJhs78Sjq+ex4RK8\r\nGZTrlpRxev4rViRWaZLseBhnVLBqQ3MU/YjALcKi3a1r9PVizz+iW9xmZKAl\r\n92Tv3U/P7S9Pudir2HhfyYYz4QmO8zjxyE6XxQK4KZ3sjNCTh7fzNxpncLCy\r\n/ED7/4VkCshub/vZldZeo6g9UsUAb2NC+Y6NmpxeLveOLz0j+d052ZgOiRi8\r\n5k5JD7oJq6BRt2M0dqF5baKMKhxyD92S9YYLVGSH/K1riXa+5alsZC+aDErL\r\nARRVBCYXQuKHmdTdQiGDacN6+jphDxBPzrE7O8qIiBUuY246lfkXqjAx3VYZ\r\nsOFX+o+Ep9XEO/GUkI33/mkxszsK27biym+3CS8ByZ/Hj90mmS40yAkzZtbq\r\nqqh+4mpwJA5jo9reFWUX/aYRtAl2SuSz8klugO6oPm6IuM5O/9cuL+IveA7p\r\nl4JMAxW0frDtvB1vBUXqv3R7tVZOcBRqfSo=\r\n=/DI/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","deprecated":"This version is deprecated. Please use the latest minor for 2.0.0.internal.3.x","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.1.1 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.1.1 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.1.1 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.1.1","baselineRange":">=2.0.0-internal.3.0.0 <2.0.0-internal.3.1.0","baselineVersion":"2.0.0-internal.3.0.1","previousVersionStyle":"~previousMinor"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.9.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.9.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.1.1 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.1.1 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.1.1_1680054079455_0.19779908104048127","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"507109d0c4d6e64eecb07394f9bc2687a6cbec62","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.2.tgz","fileCount":36,"integrity":"sha512-d5+4o+IFx2FGL0haRSzNS0mSIuvaT13tchK+V+gpjZBKPyKkdn+zkypYa2ybjmRYoV2F0pH5MlI0Z7t/2XPgzg==","signatures":[{"sig":"MEUCIQCcjIIiYhZaMniBQud5VNlLCYp7pBiDdo1oE6IRQgFKMAIgJwGvefzTjyxRUMWB+CaFRRin7FAfVF8/UKKEpKDMjQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJ4IHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCSQ//Tx2ypFiaLsRdVGwe0gL3MsxIDod/pO1mkp8s/jmlrcs3FzNW\r\n51fSWUzeaT+O3Ls+hQi1vHqd9GsFM7f39RNgDRF3X90PEjh4OoA54W97Hvy/\r\nyXi2N6yhXApOpJaoIddbMYe54/1oAYvCRSaqkFtg6JfJJK9NsaY4OWnv2yfa\r\n9NJGmJP2WPOPqlZsT8hLLzRhOlyBF973pi8jSBS/TNkDxOZd8gEQoo8HlQNQ\r\nmdYtaMNFO6aO6zRnbOmS/FOBnDvqAD17oJ/nB4yupg7Fj6L+0h5uIyT9GohH\r\nTQawY4UFU8UkiBOEAkSFGTD4zaECwO2iH0gQWH+rU8xfNZQPYhv3plUAR4gy\r\nyRbhGrK8jW5KaBBD5/uG9oa9h/h+czqgVqtm9rvWlqX9e0ejSVOIYA+I20D9\r\neHmDX+IGjCQoXFvq8ynqsgAqrB28WcagT4igzatJyrMSE/uT7d9VC+n7EI5E\r\n8kfEMoWxUrBQR0D97mkm37fLVFhsWFFK9n5IvSdxME3VpdHSnONPo8iY7pmj\r\ntjWRLElFwrQy8J5vjYo+wf0zYWlvzRFijsQ2WH3otXdn6BoAKrp0b14bR5mX\r\nsMSDPVOLEh+SHXudPIjEuJTm9qTtcOYBnDDUAq1zTDptN1Lqp/XdWyU/2Pnd\r\n4VqJWQKsMBNvPHMWYKlu6YIc+L158SIYtW0=\r\n=8yA0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.2.tgz","_integrity":"sha512-d5+4o+IFx2FGL0haRSzNS0mSIuvaT13tchK+V+gpjZBKPyKkdn+zkypYa2ybjmRYoV2F0pH5MlI0Z7t/2XPgzg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.2 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.2 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.2 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.2 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.2 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.2_1680310790855_0.4278377554197976","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.0.6":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.0.6","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.0.6","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9c8936c83df77b73053cf6201b3e38d37770e7a8","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.0.6.tgz","fileCount":36,"integrity":"sha512-e37dbZ+F8WfgGsqopU0cZsH6KWd9lmwGdneo4X8EjTGYMH9t+jUBoadfaB963CcGiCDUcB8Q8MAgB5+gOM7P9g==","signatures":[{"sig":"MEYCIQCoGEaXJUK4/WD7LZXp+hwGmHigqGiuaRV+2MTZn/jlLgIhAOqdou8hq1XgfDNHsJqS0GM+qeUGMgP9QBq/MPOunJpu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJ4vwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8ORAAg1FFNHG8WMrJhUB/IVt4XNaqrvy8+r7mYr2dPSuqRH0CKoOX\r\nQjrWjuXil26EkqKpQNmOcH6gktzhSgbKSp5w2J6ES+xtfzh7uwY8LviMWj6c\r\na5H3NnvI+lapxrII6pZLguttOnnTAKEXZO4CP4DUertv/hOSTgKOksrbhwqM\r\n/c1HlOYbO10RLKzGGuUXxfzr+1A5v+7zhQLC/IvBWOHwDvi8oAqgsRdt2DB6\r\nF491EyZH4fwefTUP5iNLsW8LOiBY6zs10YH0GovCVOhQ6uvPq1/8JUi4nwvC\r\nlyiWUxq/7JdWjiAe+DSIR+PK9V04yQBwuiuUUXE9WV/tc8wj0IoNOLPN0bS6\r\njCbCwBWia1nO2UwJYxxi4hyIPrUoXAwGUyz68ngO07dqDvgn5e2cZ5m1p2OF\r\nGdXQfQk4aWlQX+hKFC5nad5s79a5OBxz4DFpu/XJvsxF6mKmAQrSWROgefoa\r\nYAHBOSskwSbDFj+n+YLl3pS9aTSFaCxlXFPbcmicwYZ8dwxx3QPyzIWehfB7\r\n9wg/YuT9RfYUy9ODP3GGVaywd0tjZKh70qgwnKJZEcQ04rmrQ9ij00ZC9EaO\r\n0Y0Nbn6s3+HsnzQdOFiVo5aJADIcPUbpHPc4SM4J88rj4LRTvDJhItAG/8Bs\r\nQJFGfRxEz2VpcxMsfcSA8Pk/CqFdpxOgVKA=\r\n=zx8x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.0.6.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail. \n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"flub generate typetests --generate --dir .","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"6.14.18","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.0.6 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.0.6 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.0.6 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{},"version":"2.0.0-internal.3.0.1","baselineRange":"2.0.0-internal.3.0.0","previousVersionStyle":"previousPatch"},"devDependencies":{"nyc":"^15.0.0","mocha":"^10.0.0","eslint":"~8.6.0","rimraf":"^2.6.2","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.2","typescript":"~4.5.5","@types/node":"^14.18.36","@types/mocha":"^9.1.1","concurrently":"^6.2.0","@fluid-tools/build-cli":"^0.8.0","@microsoft/api-extractor":"^7.22.2","@rushstack/eslint-config":"^2.5.1","@fluidframework/build-tools":"^0.8.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.0.6 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.0.6 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.0.6_1680313328237_0.0852232972028173","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e5cf3c290d0654047495a958050f93a02ec00e6e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.3.tgz","fileCount":36,"integrity":"sha512-OSCJprS+oTZkJy6GYy0ktpf0eloRGT8VWSCJClnAWXMUWAyHRUfWrGR4r/bMUE2Hnko+q4J5o1PdQu0FSYVsWA==","signatures":[{"sig":"MEUCIHY8+F+xAncgYNicYgU0klm4vxTE2tsa7dcBxtA/76ZmAiEAif5PZu8EZMjMPm6D4GJalucAQ+NSxOkUcrjK2RHQB4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJ57JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrP3A//WQQWWTbOahg1jUdFfaL6COkYUwGo0HNjMWI1IWQVjxGknKJE\r\nGQ7Vu95bTFYQFWze/ZHeFxS8OCIDtJ0CoFYmdYDjg2XfXmQsoIkBv7/4vu6H\r\nrZQmfyuQ8O2ICrs3k+N5k8+0p2lhCc8VQppCWl2AN70ELRBMQXaZ/a+y6NMp\r\ngPs1rQA6+dvQPqfrzPu7TTsZu39zQmaQvyZaB7XOb0iKm1GlPYOdZhFvnmJu\r\nGjKiGo1ECjlgAAfDfOoqVrqXERHFYJLfTc+/zh6iF/Llry35lsfJrE+aPnrY\r\n5dvKiPF+uffMgbcJcPfEPpp/x7xlyWU1VsuKpWPrWVzOEEh9q5u3B2mGI+ti\r\n+u4oTPxA4msjHXq0pniJqkNQKJzDot/+r1IBzd1BI61epYlu/bIO5SRojOgz\r\nJUBMKJGGyMstEp68liavQQPNGER3bs+D8dudEUAKttgLs1f7BNsEBIhwzme0\r\ndQRBGZ4ilp3f0OhQtLAxjYk+M3zSXhMZ9jmtlhXj10lCGSL+C29D78h7g66S\r\nmaDWBZDQSLIDrjNXh9h3//TN0VcZW34fb6Cm0KCATm4Pz8GZkpsapvqoQwsy\r\n40knTda97ioh45/FT0uf3j8P5PPwcPbKbYuQR8BBdI6zZoMyFkR7c4lrdLv9\r\nRD20PQ40py71tWtXqwp4iybEYtugFHTbO5Y=\r\n=LyN4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.3.tgz","_integrity":"sha512-OSCJprS+oTZkJy6GYy0ktpf0eloRGT8VWSCJClnAWXMUWAyHRUfWrGR4r/bMUE2Hnko+q4J5o1PdQu0FSYVsWA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.4.3 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.4.3 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.4.3 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.4.3 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.4.3 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.3_1680318153628_0.9454655609621556","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7f4ade1e795cdd8ea862e0b11bdcfeac88207c1a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.4.tgz","fileCount":36,"integrity":"sha512-VqZQUaARMSkC0P8Q+1BBmRChfv3mpSC5G5o3UTs7EhqJctNMayci97q6B96G0riUbFMxOtp70hI75Fno6VSOEg==","signatures":[{"sig":"MEQCIDpaN3fNgK+slqEMINcIII7TJ0qqyh9iMLfsCmxDCVJzAiBGmtUJOquqDxv4Hhcsq8dV4VbwNaqvbyEYI98b1utsqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLI0DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5SA/+Opepmsgu7DRonjIlhQFjWUM0k8MtPxLSzBr/MdB+z3EmVHWo\r\nw814gQDpPhvyZntQt4cmi1FbulpJ69ZJy7wA/nx2KEOhVr5qzaF2ypvPfwHt\r\n1MTVo+LPr350C1IEh315XS977VD/78Hc3jIiAN/z0qORxgDQiHLuMBiIaXD/\r\ni5XcljviE9oFqAUSMhacOstl5yEu+1bllxaXMslZP17l9fm6Oy3w8YtTqf/b\r\n9dYUSywrIrr9vxpj+59Okq5n1ZrNVWjrRyTFYGuCCvn4aA3yGySK9v/ZRCOe\r\nXZBrKQx6YOJBM8VqI0xRYJX5DigL91gu795E419h5HdivOfuCdQmuKROQPgd\r\ntWwFlQcENu/sq5X0HrLLiWCCmERpsY+0fHXrUsMtOGpkZkwwujXqQU4XFRsp\r\nqDhISdLQm55EO1d3qJQFI03izps8vDsc05AsBBbu7iKvNld3+TgIavYFty9L\r\nuroJUS2MiY4S4dVaFEDFp3igQOvA/T1FxFxoYR5Uifh0NDlJg4rPvGOzFHO1\r\nv+PfejaEXKcq3fuCD9NaNdES7ns85v23Sr66zgc0EXwsaPF8X02NzSgbXyEP\r\nWnQOEKq8iwtJtCBmRNpBYvCjN/3v9uUuVHa9GdPGYRagitALX30MUwv1+0d/\r\nUBeYcU/2oF270vEyivBr2wW2v9UcVx/lgBU=\r\n=TrNX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.4.tgz","_integrity":"sha512-VqZQUaARMSkC0P8Q+1BBmRChfv3mpSC5G5o3UTs7EhqJctNMayci97q6B96G0riUbFMxOtp70hI75Fno6VSOEg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.4.4 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.4.4 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.4.4 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.4.4 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.4.4 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.4_1680641283513_0.5609136135596158","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9aee9ff2f5436463f390ef2f72dedefdf868ff29","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.3.tgz","fileCount":36,"integrity":"sha512-pXui4njV6W8KtdtdWLCQnw2L6Dbo092ty4sw/m/jEeTqc14+v1X/XDq6AD5bn2bbzxeWwsJC/shbTEbx6l2DZA==","signatures":[{"sig":"MEUCICZRiNJcdGHwfci70X+5QaPSodXBYtnZ0hh20Dwwr8mwAiEA5Eq3Q3Nfw+1vJEMfVu+Pr313e5UwABpUknTbuiWHOFE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLKjrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplXA/7B/jHbtyHavsb3jL0wKMuAR54s42gUsTYQK/7mgVb5fLgiLI2\r\nYNwWhGA93j3g7GLzBQ4wNVvNXaeOLefoCM+t5ysYKuDEE7csHoKp6yyheT2p\r\nL4d/rVona+6omuElLuE/zBMz6yTrCK91oPYNH5P1E/bPnqH145xxQbnimNEe\r\n9+4pCZfdB195HVPPreWigsVaZgyKIGGtJ3DjGz3ogUBCZkqar8izj4vt//QT\r\ngwPAGau1UX2Z8ogg5VMUfjZ/u0Lq0XVQJIG3i0mN+bBB61Y1li6KbNbkJs8P\r\nBpXnwYmgss/MiUzV1GVeSETE0AiR5dPBZUq/BzmBbQYbcGSYHZGQHCeMhP04\r\nc0J5/qLD//i7kDcYp64o5LWBnPYvxSRMoRvWLgDcpPaoHJfVPUPjkzJegjCs\r\n/ki/Qbw2fEcHh5z+Md9ZsM80duVIpuygY1YXAiWdHP9sIcSwJSC7FLQrvnUW\r\nNQEN03xxdBBR81RD2w/xbBUXYBlxZwc8AQ7ebeKCTdHxKsU6Vof5k3e3spsg\r\nuBJHEmJ5Ch5IhrYLLWMXm1f7wOA/b7fML3IwxNWbwG5+7/kg1Z2hTK4lqw3l\r\nYGpmgIKAjUit60sPSMFjKRaqj7pY0T3X6C1CKBO1Kr7m7kcFs0EzV6iOYCuP\r\nip2Q/TdE+blbiyKs+71aoANzhqBVIlS0hzo=\r\n=+1e+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.3.tgz","_integrity":"sha512-pXui4njV6W8KtdtdWLCQnw2L6Dbo092ty4sw/m/jEeTqc14+v1X/XDq6AD5bn2bbzxeWwsJC/shbTEbx6l2DZA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.3 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.3 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.3 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.3 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.3 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.3_1680648427456_0.34548780760373177","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.1.0.148229":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.1.0.148229","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.1.0.148229","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"066e835a62dd1248b81c8c4b07f338eff7c2eb6b","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.1.0.148229.tgz","fileCount":36,"integrity":"sha512-NFCz0wSuKVemmGPx0Za77G30QW5E4tqpxyeL03135rcFm5IHSrJCygNs7TIqeLHWEXlVAy0xyehQ5npv5xzXSw==","signatures":[{"sig":"MEUCIGzZd/oQUeleQabSgxUrPJaTv8/QOEyv9PIqRflAwtO7AiEA+t8r0qtORTsKtVtN78VgNuFTxZExzFUlqkSuapjuXSo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL0fQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjIQ/+P3dNOOa0a5zcjVVK1rQ/5AAXt2FRPNMq1tSWXzU0KRzPCER2\r\noheOLhxMYJP3PlF9Ac9G8ncoH94XrvHzjDV1k4tR7llqLnUZqbZEj/4b8e7G\r\nWxJ4e/wsoyIujaW7TYNeEdja/gY5HB6ajne64LUEvthhpQQ/Ww3KbbwSCt00\r\np2w0Yqn88hxdLN+umvFprmDDzl9TtoAgjAOqR/IJdBGZU5Nf2IKe0ZBLaFFm\r\nj6UQK50zMfQbzizFBW9MMAkIfrQqp71TVWMb8IjPMBDP6CDn4K0XiiSQpBi9\r\nNsZyGG4+rHgZ3I3qBzQx/h3U963O1UZ9Fp52G2Fj9+Ej5B1NGRy5izZuCZz6\r\nk58RaG0EMYMe+EiLTRv3Ln/TBv01J6zNvzgKfYGhFz11rXL/d8QBd9xavlnD\r\n/TRO91+dnst7HIcya46znxDXZdRdtrLmnSxYeEWUksV5++U2hTMpokKAzaDE\r\n6BdUaNEcqnuPqHz+fJrwEldFIPM0DOdJOe4i5SEksZ0mWTHDJzZJsrLOZhND\r\n2+Id7LEtoe6koGxB0Ck4oEdw7gIeqEF16BRCrneWW7vhSHTYW83kTEewlteP\r\niY7at+LrVUKvLBpQtU4PH6SSOaI+lcMLDgy+m6XCW6PLWfpmTMk0Y14zB08G\r\nGyGgmwi3kEN69po5oTA48yXMaE36U+wPs0g=\r\n=3jbX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.1.0.148229.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.1.0.148229.tgz","_integrity":"sha512-NFCz0wSuKVemmGPx0Za77G30QW5E4tqpxyeL03135rcFm5IHSrJCygNs7TIqeLHWEXlVAy0xyehQ5npv5xzXSw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.1.0.148229","@fluidframework/telemetry-utils":"2.0.0-dev.4.1.0.148229","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.1.0.148229"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.13.1","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.13.1","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.1.0.148229","@fluidframework/test-runtime-utils":"2.0.0-dev.4.1.0.148229","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.1.0.148229_1680820176523_0.19195196329024466","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"04d1023c156ce402af4fd6fc223e44ec8bfebe51","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.4.tgz","fileCount":36,"integrity":"sha512-98peUxKHDtnGMtVwQShNym3Nikd1TpjQt1SxzipoMQwJNuOOykX0j+unJPDCzlMtHdq/EznATDrTykGXwnZWGQ==","signatures":[{"sig":"MEUCIC2J41sf0EqrQPE25BrpUq/SS5Nhr9zhV1C0CageFT/DAiEAjWROlCLjtSXPz9+HzUeg/HzidhbGl7t7LFQBEn7srT8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMFGnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpl7w//QJv2I5SiCCqBrQIWmeCrwjomVfIW8iCb0micvWra0C6qtbF9\r\nQ6K4B2eHuKIsaYpsBuye8nRs4Dj4bZaUh/I/gMfvZjpIy9gSoQgeeQbuIsIn\r\nLLUR8GWzwQQecymbWLV8Cxrvp1osyWiX88iLGfbKDRorYaxm1T5Y6AXuKCPl\r\nJCysUcF5lHpJndiyN8KM5VmU0U/aMUExYIIWukNyIxBeGq3MbWV6IlkLjKSd\r\nDLGuhFsvKp2xzWu624+HGwmZciGP2+9agXLdNqrkm4PKCS8VNQSwLsd6+yAT\r\nqT6vlJedCJtlyIRMZUCdkYS6JWmkqu1zcJz8v5EKpnolyquTa1aM2YmxaxNi\r\ne7scd9ff1dvs1op41+yZgusi8nMnBlnM8SuXRzSeXvWdxQ3mR4yM6SbDb5B/\r\n4+4ecXcRBU92u1mCtdXMrEu/PQbQoLuyJHyTXlPvJhOnrEL0a7WCR4RsNpgl\r\nPzV3ZxYOgIZKkwOYBqpgBfCuhFGvH6IGiajun7mUPNcJlgzgCTeNckOFmdyN\r\nSCTOzjezpARE+M83bBm85QuKwgeInM4OKFC0IrQaRJaplYKqWFD9gfQHFIim\r\nL8huz6pgr1wOBpai4Zbs8gTONzEMBoiUxYgqJ98ZZtcFII0nkZbRPsTPiBFO\r\nM6gKSEBHOD8QZMV/92N6RQykOzAuC0vgYdU=\r\n=h6cs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.4.tgz","_integrity":"sha512-98peUxKHDtnGMtVwQShNym3Nikd1TpjQt1SxzipoMQwJNuOOykX0j+unJPDCzlMtHdq/EznATDrTykGXwnZWGQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.4 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.4 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.4 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.4 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.4 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.4_1680888231252_0.482771305087238","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.5":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.5","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"041d11c68c7f5f347357aaaff91ec1b11944fa4a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.5.tgz","fileCount":36,"integrity":"sha512-F+KQ292y4FCehnhceOzZel3tJeW6gEGxjmiS6HscurfO784SxESWmYdVTyvbzS53H4y+mY/I458cynVuBcWyEg==","signatures":[{"sig":"MEUCIQDkBbxFh+0BjpJnW/WOrLmQ9NVCcaI0cyLqjEuTmEM2cgIgRLTK2rKKpt7CmGwzQEFocM7lEQvzEtBaoi8LyGAXHLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMJCzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrc5Q//X3UUn87ZfywDK2+CW+LeBPZocp+1xA6MWtKkfpnnOgtBgcPm\r\nq+mESEGdpxaU9VBoNVtCbc18S84vINSGIrEQi+1eqny8Qfyzl5AdEy/dtxjz\r\nWaJ0jAZLtVRvCcnW9tR/CRS6gSvKX0IApbuxPz5gkl7fbB670l8E4R/v5UpV\r\n6fUSD9uIQGjIbY+P4NcKebjL1eHGd3UpprSScc1MpI5q5U9DKueC5gpC/beN\r\nkNx92U8cklIu+EVodeIVNtcjNXVJdDvcliFxVn8lFwNlzS+4imdeOeWwkD+4\r\n3RifeJq281BcMw5dn4IvY8y92PJ7mz/oGH8bo5qcx1QW38i0F+aXaAjy0UA5\r\ntPVdWd+XbTUpouWJeL/u3yTvq6grpzLSN70yw+T3Bzpy8zArnC29bGegJHQd\r\nlZPOWSFTwy0jdwjB9M8zjX6c7w1YTEIVSU/raMhI3XaNUYtog7YHEAoyv1tw\r\nSXFTxDZ+UWot5Edm8Vi6Pt6khpNxXeO78oXuicw+ZZyHflBWLTDz0qWOM/e8\r\nhJS6v6wv4Y4B+ccTHb6aouLaLnCYvi4rJGXCB2EN49QGkMgheoFriJXzKo8Q\r\nvn51BTeDtI4dHI/N0yAqoxjc3TvxOuaAHp2+7MXFSA2+6ulOIsiZaRFFb+Dw\r\nuMrRWutuc3zmhLtdQgF8rStysbeN+cp3+9g=\r\n=j20b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.5.tgz","_integrity":"sha512-F+KQ292y4FCehnhceOzZel3tJeW6gEGxjmiS6HscurfO784SxESWmYdVTyvbzS53H4y+mY/I458cynVuBcWyEg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.5 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.5 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.5 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.5 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.5 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.5_1680904371509_0.6758104400251486","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.0.6":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.0.6","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.0.6","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"86382e56cfeb8111c3ec58fac675fb688d5754e7","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.0.6.tgz","fileCount":36,"integrity":"sha512-oB32hCDir3DN/PEpPw06xb8yMxjM1I81A1GTjgTitOqdunC6DprmnYqz1WgYjVRwnuYVdLgKHcAMksBx4wf69w==","signatures":[{"sig":"MEUCIQCdWQgCx/xyQRc/NB20IWGxBhoL+++ju49EVEXPZbkdEQIgAk9/E/Sr2cywkC0gtl7O7SFZsGR/6QspMGNt1Sk7hYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQfGdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTIxAAh5w6Dmh4wSmLmmPZkwgIyNWArbzMLxIjI5csEloQRFOiAk/0\r\n0d2RqSh4CJ+b1Y5rPxJlr2GshCI2r63LlzeJ1u47/mEN2yXW80rjE5eV5epn\r\nOFEBZ2yR5gMHE5ngefwoVm0hYJ6xz8LQvQxdy7bRm5ridoy3+xGDzlFkeoph\r\nR/JkDJTH1XmRNKbyzAIQ+ZzdtW3Z1vIO0f8LKxeGlv23gQMN3RqEzXkvEkqt\r\niYNLXu0Mx1GMfjld9D0vDmuxYXDzPcC/IyXKNIdj+VSMnF3JoVbwtsCcYcFP\r\n+orG5hXFTl2HXbNaHif/NYpJ3zW+QXUikUjiuBj07dJR+JyQphPKaFMObS4R\r\nNScxGybz9Ut8LKqKMXxMnnw/4ot9fd6bTMlfT/5BSiDZRy8QlQHH6piLaqp/\r\nwwPG+hnSvYIcQiMFpBmtpyu+LrwOr/WCztdT9s8XguHaPOwHotFpT6GdJFsO\r\njpAY60irFmvefpV+d8kpywT8EetGBaMCZxeLTqrL3fgGJOVvWNgEiN1WiKVi\r\nPDxANLe0wQTvX7YN73g5UUiGyIwv9nyfWtnZPAQxVmiZblKzib8YNyZ2hYgp\r\nwdJp58x40ggO7dyOGQiWe1rNssV21lKkDHzvJ+tI6gMjxXxrvk6Y62xzqIeu\r\nLqeILUSed1lCcxZOyA22oT26gOlHbmYFhSU=\r\n=6qyx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.0.6.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.0.6.tgz","_integrity":"sha512-oB32hCDir3DN/PEpPw06xb8yMxjM1I81A1GTjgTitOqdunC6DprmnYqz1WgYjVRwnuYVdLgKHcAMksBx4wf69w==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.0.6 <2.0.0-internal.5.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.0.6 <2.0.0-internal.5.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.0.6 <2.0.0-internal.5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.0.6 <2.0.0-internal.5.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.0.6 <2.0.0-internal.5.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.0.6_1682043293217_0.13903540270986725","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"221c3cf0a012acb2aca957327ee46e3d2f868672","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.1.0.tgz","fileCount":37,"integrity":"sha512-Mg7FTo3+gpFAMN9HPTKHIr5xH0wxT07eewvcFcQu+5sAABWxuOZukScjG6vYoxk/2Ndp2Xm1Tn3rHiZHo257/Q==","signatures":[{"sig":"MEYCIQDBMSCCi+NypquN/wc2qX3WOi5lYPGkRGw4Hxf1Qm6pzQIhAMLP3cQMiFpiDQ/qB/uNWq8JktBz0YIJBH0dZbylB7cv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQyqEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/3A//VDuZyxwzrZPFhgG3ZVfqvjho0F75z0seh6OcAVOX0UnA+ts+\r\n5PaEMuEgUYOSFFS7K+/fjAhZzyLMFY9epJqaOH6OGDaHJrVcNlMfERZ0luw6\r\nYuX1DpPmkXz7tqPqISwkE9WBRUpvu9IIR5dF8YnmD/gcTVnhOB7gsHzBuwg8\r\nWNMwzicOnZwj8GRAXG9dRTuJdppPwCjQwc7cld9grfz3FEjkR8cdJn5L+nck\r\nbYBEJo3e8IK9WadOgN05Jo2TBnyVSme1tT8MtHKm3PcNXQwUl50LX7hd+50T\r\nr5yxj2pXVvEhBbfXx8YzWTwI6PQs3usImzPiH0VscNMaDqYjWGw/s98+VmmY\r\n5mu0K226cGIcHY05cGicyCYzdKA8SVsNjdP6TTs84uwt1IgqzdBhJoc4LEoK\r\nPJ1rYOlKCPTThK0pXjm+8+/vnDw4vT3Hyxe8y5F1lhdBvXIxWtR0bZD93ihD\r\ng1pl2X19v3y/V8KiQulgZFYcGO1kd2FUlmfqbp08dFuOZYRSveTJGTFvX4gp\r\nnwnMCDIScC1pHN86ANdaaH06zDUMs6V1AoL/U3f3JwkCQ5IdaeUlNMKkycqo\r\n5o2D8Ib4KUZDPQCSEkLBuPKx6CW03G/2BdYWZrSPkgllsLfL/nK2WGOEhmLJ\r\nKqYGtLz6fK1KsrjL6Ey7v9fvX/ZgHW+ND04=\r\n=EH4x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.1.0.tgz","_integrity":"sha512-Mg7FTo3+gpFAMN9HPTKHIr5xH0wxT07eewvcFcQu+5sAABWxuOZukScjG6vYoxk/2Ndp2Xm1Tn3rHiZHo257/Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.1.0 <2.0.0-internal.4.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.1.0 <2.0.0-internal.4.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.1.0 <2.0.0-internal.4.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.15.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.15.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.1.0 <2.0.0-internal.4.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.1.0 <2.0.0-internal.4.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.1.0_1682123396784_0.9759167332904024","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.2.0.153917":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.2.0.153917","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.2.0.153917","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"8189cef4845bbc93f235b47e7d4182750ad27042","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.2.0.153917.tgz","fileCount":37,"integrity":"sha512-SXsxFqNJqTL1RWi3l7UZ4X3s9GVE0BptB+GizNZLYL38kphWVYS7tny4e+l0+Vu8os5zG5H0DHJMNmM+or4Log==","signatures":[{"sig":"MEUCIDv5+261NhCUSCanK9OxLXQqgfu0aJYt9GtGVH6DeZwtAiEAoitpqAn9a3rACsxUKhGbCMaXqKzUx4SNqey6rj/A89o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSDEKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqR9BAAiVqgp9bezGhwtH9DCBz3VSdu3U60myiCORWtupHzko0w456t\r\nze2zE7+/C9aIqbIOiJ/7rsE8vog423F6wShFmCWh13DFVmRmAtzuMD7ICyUo\r\n2FJtf9NSlBG9TjIF4NNcNICikqKJqljBBFZpAtF9U5OvsFrlDXw5yoclJmZ5\r\nvln1ZaSr85yWu3u0uxw0hPwOm+0qjSMSKsiiaNFPnxwb+rZkLKLt0GDlEWs2\r\nzmjCMlOkTpYmG07ivnDyWgoPax6JHhaFWiU7joeI0vFFokfVmcJgwsLxLuz6\r\naoRCFucAfTO21RcCSEK69KkOm2p74SxA+o07Hj6pPSYT/vhysQd6y2Px6fkB\r\ndhZXsF0lYb97TIqK1aTIUtRfXHHKtPx3THZrYtMNBpi5canZgpbtpc5PV2w1\r\nLNjsnErVNZLYlELdnDB2JAKoq/VPyOm0G20Y/lWquY7IhSSeE7zUPoX620iv\r\nB2CtQNRTRmE4PRJgGLERXnZ+AlUXX/X1rfTkU5oln+xSvJb3QkBFzLgdifNR\r\nNbPArsQ0ZusUU+mEhJi5rh06I1AO2wxqHkYrORN3lR3sIfEV1g7PCHNIZi37\r\nfN2alRlnzsnbOLkUj1mP5OPBTGUOEJvz3o5syhM2oxniAbGLeLMVj3fircmY\r\nAqY38fcmDYv5YPZiiA84iJxPwaEPugIGw8E=\r\n=/T8H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.2.0.153917.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.2.0.153917.tgz","_integrity":"sha512-SXsxFqNJqTL1RWi3l7UZ4X3s9GVE0BptB+GizNZLYL38kphWVYS7tny4e+l0+Vu8os5zG5H0DHJMNmM+or4Log==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.2.0.153917","@fluidframework/telemetry-utils":"2.0.0-dev.4.2.0.153917","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.2.0.153917"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.15.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.15.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.2.0.153917","@fluidframework/test-runtime-utils":"2.0.0-dev.4.2.0.153917","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.2.0.153917_1682452746021_0.6476476648819995","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"27759b8b9b9cb07cd829e35029b0e7ce83b151dd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.1.1.tgz","fileCount":37,"integrity":"sha512-5NZNgm9o3GUfGcTmw/Q+a8Sv9IjUkt9DHnOXglEnGdvB4qKZoqImiGgY9WPW8/+ev43QrP49FcowDz8j2/S9tw==","signatures":[{"sig":"MEQCIB+k+emYp50AtezVg0mt7yUoDy6lGHqCqznxZaYgVytdAiB3fVYKPtiEKLWxPDHYkAjQnpEsEeMVcPbGXRfNR+mxSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSrHzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqcvw/9H364Cr1qzyIav4tlBkHn1LXXvM+LSnqrkQsUUVtEaMDWxGaw\r\nsEdAoSZJ/2yu4rKgW028UAuS4XOw/oCgl9Ue6vYQ/VolhedtOnOuIhNPFEjy\r\nJ1WzCgb6ESndEb6jH+kWByVS3EdYNi2NNAkPhzMNgFU6U6VYpS9SQPjoEiLG\r\n3TknaGYcXt0Eyh9DrhWnBBfdYIlAfvkWQ5xIXZ1GmIPtWCP3CYS90gC4mDop\r\n3WXiwIlrhG7opcV/L/sDtTNUj/Tsa0WZoTZmIytztKIgrS0r2yeXkd7RhsA6\r\nPSsJAQ3UIYT1X2vqYQT3onuz61JV1rXOuaHh7oPc4n3wRwGdzq2Ow0RWaMsR\r\ncMtuEkb98ilO367e7zuuWxfaYeHORxCFG0QSXCOqF/J5bxHvo09QSsU8gYT2\r\nxIyuAp+O7ZCZrZhATvSYFKO3ZSnz+8ey8hjMSq7NSIrP6i30NqxGyI4nEqTz\r\nvqSfF8NxKyqo2UhuCJ16Nq9obfKz/uvjJbAx/EpeWo/05bSvH9Z3lHRGyVE2\r\nymXpvr34lNL0fACdBcBD5fZTyIbz6CfbTh01fPwIUw9uYMXWC7KTsQGUQkaA\r\nP/0IgnOBjpEihc4OiBxIsOKHtUfF36fpeLp4CuuCttBu5S/TFfIFHyKDylrj\r\nurvpU2pcbxwSwEEo0QLlecny0DluJ5YKXZ4=\r\n=6L4S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.1.1.tgz","_integrity":"sha512-5NZNgm9o3GUfGcTmw/Q+a8Sv9IjUkt9DHnOXglEnGdvB4qKZoqImiGgY9WPW8/+ev43QrP49FcowDz8j2/S9tw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.1.1 <2.0.0-internal.4.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.1.1 <2.0.0-internal.4.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.1.1 <2.0.0-internal.4.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.15.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.15.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.1.1 <2.0.0-internal.4.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.1.1 <2.0.0-internal.4.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.1.1_1682616818758_0.9686109853124878","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.1.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.1.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.1.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"sky.jokiel","email":"sky.jokiel@outlook.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e3243918dea2fa1c18f0697c3d4bef3e875bc38d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.1.2.tgz","fileCount":37,"integrity":"sha512-JdaAUqmOqEYQfiK5jXYwkTY1FCKE6G3wby19zKTy+BWMeRTSqijW8efGvA7g9KrkPPKzzYhbLKEGg7APR1+rnQ==","signatures":[{"sig":"MEUCIDEDp9LPAITcHOLsceOLqANLQx/8QX3BA8V4PU8BsPxOAiEAguD51YlViKts5kBWRK+pn4uROH4065q1ZBVlBPRLAOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUAkuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAvQ/9EJNupoehRoKirFaCIATeAbI+plMsFn0zxqohjvQkCSQGAdHH\r\nK9TSnscJtXjk7P4rf/1fSSdLtTtDAwcZL+PJg5Aux3vHoufv+ZvZ0xBjU5xp\r\nCCJv2tnTKTM7rBTR8slIftRU1KZ64mQj62Xb5i0WUIqDNMJYVW9RWAjLvvLS\r\npZYxvS57j2ciaHTW0DXfgFJnfAOZze7kx1CNHEqke0pbJcubM7hE5LBzTBJ2\r\nb6IJZSnXXLdovbW67lTxLSe54upHhtdUtnRZpOQJ1gwOSQzhTeWmIhZRdehU\r\nD9UYDvGWLpyFjbv62MtbGOM2R5WUhSd7r5i1P/lZRE6DkOo55MrsR1l8MRGw\r\nsdsRoDYdwrcxu83T3XAPEJ30J5MMnHk0oV5vqyHhXXecAQ/4hEyid3c2f7dp\r\nR5HzUd5vrUbLsKRbNSgpek2SY8EuQIoBwgM3kR2ekp7bhiZ66sHO4MeG61bF\r\nFN3yxa/J9rHc8aT/hfruwFkkLQdFcwZ6x9xc9kVbvOdKyRIj4P0tG8ya3Fw2\r\nt669MB9EQzyUuYDmTGFeEFNperiP9BLvIFzVmk9Lgcw/9feo74wy1eOj7S5B\r\njNAnbZ5eal5hTjAANRtnqe4+t7C9H+Aryc12MlQ53XU+tzeb5wwyNAumL5I6\r\nDkvueLxdz2tC4eTN06TaH1auE4TAu+AbtWI=\r\n=XTv8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.1.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.1.2.tgz","_integrity":"sha512-JdaAUqmOqEYQfiK5jXYwkTY1FCKE6G3wby19zKTy+BWMeRTSqijW8efGvA7g9KrkPPKzzYhbLKEGg7APR1+rnQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.1.2 <2.0.0-internal.4.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.1.2 <2.0.0-internal.4.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.1.2 <2.0.0-internal.4.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.15.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.15.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.1.2 <2.0.0-internal.4.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.1.2 <2.0.0-internal.4.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.1.2_1682966830524_0.4722905009593834","host":"s3://npm-registry-packages"}},"2.0.0-internal.3.4.5":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.3.4.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.3.4.5","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"cd20a6fb7e8c06fee305146d88fbf060994af353","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.3.4.5.tgz","fileCount":36,"integrity":"sha512-uJhPcVxdWAczQENhbQ2TAl8mMWM5gNFR3L0g2o69HwgUaC1YUJc2u6Thghb8j3eeZuKHLGP2GBjp2A4jwE+0lA==","signatures":[{"sig":"MEQCIHXHxP7u+6mu98UyqCwILZoTYPu+gvHk3cDgu7R1cGrRAiBNIkeHF0cJ3lXVFNKO6djSkxX8kHQKHdH7Ig7uOtY1gA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVBPMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprwQ/+NY+/VkCD4awVPqkPZ59Cg0Gmzfy0k0y0TBhZ/sHIrlSNDPJc\r\nx93j893bLkqr/pWcJXJ6XuaPPFC1bhBShJOP/gij2OlZ6t9N6i0ewIW94UEU\r\nakjuKD1K83XVU797rFhRmu2pemtxJtA8WiZlRyaayckmTpmpCmQccaBPNaeP\r\nKCOWQSUwq4eB2Dp27ujOACtJKna1Thcev7iDkAotzmSZI6wzgqEYaWUmZZ6e\r\noIozy9BzxtLFaOgiJijjKzcesQ0XsBahl4GdngLQC583igJmcgR3Gs0Vlho8\r\njt/i2I2X2yiRzi8u4ceQGinrXGIWgT0kYSPJnBLMr7KATSI6mdb/DbPVOL2E\r\naQ6Z3MjQzEaT6iU1ZeYZ4NwSb79ln3L2JIhK9IDZ+w9q3HMZONQWhk9aX9/2\r\nBOYpzM9LKkid7qBDzVkxIHGqfjLjlLFGP733NkEvFu0Ccdory6pFs0HnP741\r\nFLOkt/6Uj309bJMMGLvk5KdDoLbCtuVRkz3rcYFq5H5lPIU6KatuGHhnTfxH\r\nsO9BnlcCh22T4lGcBNJ1C1jyxzY3pLmrhknITu8cjhtD8ppN/wwT6/M6nDY0\r\nLi7ciEbpAqzcYTT27o8wP9OwP/q9F7vohIGMk/PrIoc+wBDj3fSjnsVbxu+9\r\nens2h7wQQDnCPxOgIsqns9pZa1LfnRFVOZA=\r\n=/lby\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.3.4.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.3.4.5.tgz","_integrity":"sha512-uJhPcVxdWAczQENhbQ2TAl8mMWM5gNFR3L0g2o69HwgUaC1YUJc2u6Thghb8j3eeZuKHLGP2GBjp2A4jwE+0lA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.3.4.5 <2.0.0-internal.4.0.0","@fluidframework/telemetry-utils":">=2.0.0-internal.3.4.5 <2.0.0-internal.4.0.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.3.4.5 <2.0.0-internal.4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","@fluid-tools/build-cli":"^0.13.0","@microsoft/api-extractor":"^7.34.4","@fluidframework/build-tools":"^0.13.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.3.4.5 <2.0.0-internal.4.0.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.3.4.5 <2.0.0-internal.4.0.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.3.4.5_1683231692654_0.6463478230577486","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0c3223d34f517c9244ab81473b2f6c107734f796","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.2.0.tgz","fileCount":37,"integrity":"sha512-wYzlN/oziaVxFMbHNVnJ9TXeKRhMvQwe/nLbnd1jYgxYlpA33RVFIJn7UZ0eHGNbcJIJTCB77TpUf2gRXgSD5g==","signatures":[{"sig":"MEUCIAfeJPokVjK/sYIYrikxrxBKfT6cWy/tL2V5Fd9QI/vQAiEA9SvxeRcBqzVWoRRaoHpsOsprmxVV2K7NgTQ6KdQfvB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33172},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.2.0.tgz","_integrity":"sha512-wYzlN/oziaVxFMbHNVnJ9TXeKRhMvQwe/nLbnd1jYgxYlpA33RVFIJn7UZ0eHGNbcJIJTCB77TpUf2gRXgSD5g==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.2.0 <2.0.0-internal.4.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.2.0 <2.0.0-internal.4.3.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.2.0 <2.0.0-internal.4.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.2.0 <2.0.0-internal.4.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.2.0 <2.0.0-internal.4.3.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.2.0_1683329459735_0.8784792495865013","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.3.0.157531":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.3.0.157531","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.3.0.157531","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7e1a918a09b71824e5467d3da48b9766762953ce","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.3.0.157531.tgz","fileCount":37,"integrity":"sha512-1RbyYBaJ4uK/dVEdG2hIIIJYdkaKLgAf8MH1oIIeAJYG3e39roRPwtZVAwP8K1OirTA5o7amJtItrdwo8gQ3/Q==","signatures":[{"sig":"MEUCIQDt8yofykrrI/a/dKSxx/wWmkVEAF8hF6VIoH6pH10dDAIgCvDLgoSGSvFhwBHc4MVxQy66M5ZxAovbHKkiHYigo3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33078},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.157531.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.157531.tgz","_integrity":"sha512-1RbyYBaJ4uK/dVEdG2hIIIJYdkaKLgAf8MH1oIIeAJYG3e39roRPwtZVAwP8K1OirTA5o7amJtItrdwo8gQ3/Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.3.0.157531","@fluidframework/telemetry-utils":"2.0.0-dev.4.3.0.157531","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.3.0.157531"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.3.0.157531","@fluidframework/test-runtime-utils":"2.0.0-dev.4.3.0.157531","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.3.0.157531_1683579048535_0.7890810727156365","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.3.0.158678":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.3.0.158678","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.3.0.158678","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"dfaf6b4da780657e245d9ca25922c28798720595","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.3.0.158678.tgz","fileCount":28,"integrity":"sha512-gv7mnr+kM8CmN8rKCkn31lgTFaEbeKNlEVvWVwJdBkgkmOQ6WnLJXW8t5iV0YfMNnE28SBKJDLk+7QTgOtEzBA==","signatures":[{"sig":"MEQCIGJUbyOTt8hvdF/fQL3VYDxj2SsBrEJQQfX7nvdgFMJjAiAHHNegU8tqRlyhDnBM5IAN8m6kctUp8cpDkpApIN2vHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.158678.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.158678.tgz","_integrity":"sha512-gv7mnr+kM8CmN8rKCkn31lgTFaEbeKNlEVvWVwJdBkgkmOQ6WnLJXW8t5iV0YfMNnE28SBKJDLk+7QTgOtEzBA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.3.0.158678","@fluidframework/telemetry-utils":"2.0.0-dev.4.3.0.158678","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.3.0.158678"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.3.0.158678","@fluidframework/test-runtime-utils":"2.0.0-dev.4.3.0.158678","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.3.0.158678_1683736979705_0.35813396841501266","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.3.0.159619":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.3.0.159619","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.3.0.159619","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e6c9b10f8b59ac7f318917b61d417cf94ecafd9e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.3.0.159619.tgz","fileCount":28,"integrity":"sha512-2yOi4oUdKgf4bp0E+POzGgvxQNfG7UvCjIExwz2gZrALp3FKsEba0g12Qjk2xAFMxqXhZRSLUTG/RhsKKKwkcQ==","signatures":[{"sig":"MEUCIQC5ndt326m6tP+yLFYnFnZNduzvwvSRMrl8mFYm5m0qhwIgUMJa+ZaGSvStjJWJWxMRZ5gYsoMoeL7WdC9CV0hziWQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.159619.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.3.0.159619.tgz","_integrity":"sha512-2yOi4oUdKgf4bp0E+POzGgvxQNfG7UvCjIExwz2gZrALp3FKsEba0g12Qjk2xAFMxqXhZRSLUTG/RhsKKKwkcQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.3.0.159619","@fluidframework/telemetry-utils":"2.0.0-dev.4.3.0.159619","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.3.0.159619"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.3.0.159619","@fluidframework/test-runtime-utils":"2.0.0-dev.4.3.0.159619","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.3.0.159619_1683837530860_0.47764989949693937","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.2.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"28fe06ff6b9a8756681625c99dfd461a07aa2e31","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.2.1.tgz","fileCount":37,"integrity":"sha512-IOIw6/0LRYN2aQKMBLt9wMo5oHmqcdQs4ZNoQDDuqYnrJRKfF+iO3iY3HtAR4RDKk7KjqYh1D7cNO/ABtIBPHQ==","signatures":[{"sig":"MEUCIQDAEdW95CH07g1QEB+/NJzixWED0rqmqo3wX7O4v8Km8QIgfhAVSPhKdJzfK9VLWQ4wFmjWNhm4WFIWHIaD+EsCWm0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33172},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","build:genver":"gen-version","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.2.1.tgz","_integrity":"sha512-IOIw6/0LRYN2aQKMBLt9wMo5oHmqcdQs4ZNoQDDuqYnrJRKfF+iO3iY3HtAR4RDKk7KjqYh1D7cNO/ABtIBPHQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.2.1 <2.0.0-internal.4.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.2.1 <2.0.0-internal.4.3.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.2.1 <2.0.0-internal.4.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.2.1 <2.0.0-internal.4.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.2.1 <2.0.0-internal.4.3.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.2.1_1683840027179_0.060604235304314136","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"c1abeeb7f0e6ad8720c8b1a4dba4a2a0b7c7b5df","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.3.0.tgz","fileCount":28,"integrity":"sha512-hjDUyYR/3BllzKntcQ05DxDWvltxdnH2ATxbxL30UpPlNC+v+Ji+9BZvxknXEMZvMyW5XEnh2O/SSc8tijxQrw==","signatures":[{"sig":"MEQCIBM6zeEqyUkkSgAJ8F1NVBvVV5mPm+6RbKNaQGsNIVQsAiAG/BDWcEazQryfEhvSu2LsAq6y4SSOJNkg2e9mZuuCqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29747},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.3.0.tgz","_integrity":"sha512-hjDUyYR/3BllzKntcQ05DxDWvltxdnH2ATxbxL30UpPlNC+v+Ji+9BZvxknXEMZvMyW5XEnh2O/SSc8tijxQrw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.3.0 <2.0.0-internal.4.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.3.0 <2.0.0-internal.4.4.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.3.0 <2.0.0-internal.4.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.3.0 <2.0.0-internal.4.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.3.0 <2.0.0-internal.4.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.3.0_1684435399168_0.4939189929026624","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.161322":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.161322","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.161322","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b3f53bac85222ba8e66d8a108dcc4ac4fded6193","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.161322.tgz","fileCount":28,"integrity":"sha512-x0ZxAyvL4efyG5pZF04SuK1TMICulXhGqVwfkuI0OkgKO9jpnBFvqKrRlpfg0yoAF0AvH6H6Rw+1eVKsFN80Jw==","signatures":[{"sig":"MEUCIQDwQLsibY4yUH4qp1uPjqPWQmR4nVAGs8HcH/u+DjJrzQIgfOLifB2d2bNU8YqzFyqRJhVT5ASrH+GL012fxMloPac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161322.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161322.tgz","_integrity":"sha512-x0ZxAyvL4efyG5pZF04SuK1TMICulXhGqVwfkuI0OkgKO9jpnBFvqKrRlpfg0yoAF0AvH6H6Rw+1eVKsFN80Jw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.161322","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.161322","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.161322"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.161322","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.161322","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.161322_1684436698245_0.8918709299653413","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.161516":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.161516","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.161516","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"69c83a0f708467763d87ca6164fe649ef249c373","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.161516.tgz","fileCount":28,"integrity":"sha512-ilQkBEEEYi4YthD74VhxRSs00eubA+gEebyUumNmJ1jvzuUwh5sKwPC4SqzS6PEPAGMF0NBuprmwE+xD0kTGWQ==","signatures":[{"sig":"MEQCIH5vwx+sIlRn3TWc4hHtgMcIu6y9Cak7/d9iUny+GE8qAiB3jIXHFwxohMaQwMkIhxlEdhjFtJnhH9Vm+NrUQPAYpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161516.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161516.tgz","_integrity":"sha512-ilQkBEEEYi4YthD74VhxRSs00eubA+gEebyUumNmJ1jvzuUwh5sKwPC4SqzS6PEPAGMF0NBuprmwE+xD0kTGWQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.161516","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.161516","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.161516"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.161516","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.161516","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.161516_1684459894838_0.546254848003124","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.161652":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.161652","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.161652","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"eaf7a626081bf5786e57be3ca26a498f83bb0d17","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.161652.tgz","fileCount":28,"integrity":"sha512-8lF8I+5wsp5ki3eAqUSHHgQZfjkMiQeJ2VMI3o5MJQA4ILCPJgtJ5G28QHPsyPAL4Na55Hz2yDgovO/iEUTIQw==","signatures":[{"sig":"MEQCIAdDTb0lTYb9taEGRzM7L+/CT/meIBM+awLiGPA1w3F+AiAWfeSys+4dppYlBCmjaXXXkOfdwinFVnQDwsxOAU243A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161652.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161652.tgz","_integrity":"sha512-8lF8I+5wsp5ki3eAqUSHHgQZfjkMiQeJ2VMI3o5MJQA4ILCPJgtJ5G28QHPsyPAL4Na55Hz2yDgovO/iEUTIQw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.161652","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.161652","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.161652"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.161652","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.161652","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.161652_1684526291210_0.21409229870747137","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.161784":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.161784","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.161784","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"11e7b77b8ae1093698533ef4c668a6371255cbc3","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.161784.tgz","fileCount":28,"integrity":"sha512-862FxUrq7QV+QV+e0TVUXvzO9AkdY4n4Y7vR7EM6j6/lURVg/q/dLtAF1G8eRbs0oRUVApaB1OSGlSAwA1JEXA==","signatures":[{"sig":"MEYCIQDiCBR0WpFLIWlt9PUh0/ECIY1IMAVIIDnOMD0+5fnNVwIhAON45ow4l4HGx02zC+s7P3nLGM+aq1Jx13GNNW4BOJZ0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161784.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.161784.tgz","_integrity":"sha512-862FxUrq7QV+QV+e0TVUXvzO9AkdY4n4Y7vR7EM6j6/lURVg/q/dLtAF1G8eRbs0oRUVApaB1OSGlSAwA1JEXA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.161784","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.161784","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.161784"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.161784","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.161784","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.161784_1684544040059_0.23142098212641238","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.162089":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.162089","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.162089","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"876cb5712084a1f729010281d9a8f5e03ae51f38","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.162089.tgz","fileCount":28,"integrity":"sha512-4G6xV2FxZtH7RmDjIJHiRg417jMilOHjao+EChoG+ILPVWJ3ANFinlijaa4aNgHNTnEGON89oX/TtbVFSCeYEQ==","signatures":[{"sig":"MEUCIQDMBwPyHlNa0xpjfSdJ7RXiZ/VA9ZWK7p9rAdI91PZx8AIgAjb9j1kxaqK0OHp7tCpo69Fy+VuZJdJvbDdKGMkyYhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162089.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162089.tgz","_integrity":"sha512-4G6xV2FxZtH7RmDjIJHiRg417jMilOHjao+EChoG+ILPVWJ3ANFinlijaa4aNgHNTnEGON89oX/TtbVFSCeYEQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.162089","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.162089","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.162089"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.162089","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.162089","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.162089_1684861621615_0.7827122001039137","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.162253":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.162253","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.162253","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"6254ea01c6ebb49bb9b09003fc66720f84206f83","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.162253.tgz","fileCount":28,"integrity":"sha512-iY3avMNUcgmsn8sPPcG1G5+6HsxYYoGAb092y0AXJHpmg4eMGMuL8Nx/fQwlKtMV20YWtfHHyJU5bIsTSbn8aA==","signatures":[{"sig":"MEUCIQCaCSVQd+1pA9qn1TNzN953+sstcZOFwXx2OtsPDhRWyAIgSkgofN3FWD6/H2R9S3gil9AG5KwjGJC86/v0+zleEe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162253.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162253.tgz","_integrity":"sha512-iY3avMNUcgmsn8sPPcG1G5+6HsxYYoGAb092y0AXJHpmg4eMGMuL8Nx/fQwlKtMV20YWtfHHyJU5bIsTSbn8aA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.162253","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.162253","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.162253"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.162253","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.162253","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.162253_1684912593721_0.6516248927778641","host":"s3://npm-registry-packages"}},"2.0.0-dev.4.4.0.162574":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.4.4.0.162574","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.4.4.0.162574","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"45e197cda85639a97b2d78d2b533012e9c258199","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.4.4.0.162574.tgz","fileCount":28,"integrity":"sha512-ZorvVkHEpo2D1W1xgRO+c4gkJeaJHTkTiA7eo9ADGNee4+bBWc4bLwv4qstEKu+/mqndfLvl25M5EdvtQzoLNQ==","signatures":[{"sig":"MEYCIQCoPA7fm8Zm7CaFUbUQdyNQexLeKzULl7xqirNfRd9cYgIhAPcHoVsAy8fh1Zn+Nu5f36wrfeNoIm2TjlpQDgs19bQO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29639},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162574.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.4.4.0.162574.tgz","_integrity":"sha512-ZorvVkHEpo2D1W1xgRO+c4gkJeaJHTkTiA7eo9ADGNee4+bBWc4bLwv4qstEKu+/mqndfLvl25M5EdvtQzoLNQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.4.4.0.162574","@fluidframework/telemetry-utils":"2.0.0-dev.4.4.0.162574","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.4.4.0.162574"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":"2.0.0-dev.4.4.0.162574","@fluidframework/test-runtime-utils":"2.0.0-dev.4.4.0.162574","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.4.4.0.162574_1685038800727_0.5894266345785275","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"c38366862ed0b61442247b56ea6d77157bf89f74","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.4.0.tgz","fileCount":28,"integrity":"sha512-/9sC94k/L27SsKD4VgOkgQ9xNCJ5Ve9sZUdFxLwaQMWBLDOwK28vjBc6e9qReaUePcB5E3qx3dKbLsIuZOk1yw==","signatures":[{"sig":"MEQCIAxyQQZLrOobsCLF2KQPTmz/GuN3w9SzK9EiOAhqJHMVAiB59+2nHqAnofc6YHYzVgXCKoSXCpGZqddTv0LRttl53g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.4.0.tgz","_integrity":"sha512-/9sC94k/L27SsKD4VgOkgQ9xNCJ5Ve9sZUdFxLwaQMWBLDOwK28vjBc6e9qReaUePcB5E3qx3dKbLsIuZOk1yw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.4.0 <2.0.0-internal.4.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.4.0 <2.0.0-internal.4.5.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.4.0 <2.0.0-internal.4.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.4.0 <2.0.0-internal.4.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.4.0 <2.0.0-internal.4.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.4.0_1685987044209_0.574701380795448","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.0.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0b6cfead9f8ec76dfd7d9a0f8d652f41beaca496","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.0.0.tgz","fileCount":28,"integrity":"sha512-D0GlS4Sxbtoa4GKUOcOp/UPXfhtkgnwD+6XY5x8u8IwYT9QFPc61D3qf0MA9LFy2KV2UF/ZC5/LT8RyxSrNPxg==","signatures":[{"sig":"MEQCIHq2WzRe0t7D86qQdDwQxnFAZY5CkSvGrlkIFGLB8qiIAiBrONIQUCGH7PhMV6yKxSBwaWrMUNU1UKRPa+Pdfqr5rg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29864},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.0.0.tgz","_integrity":"sha512-D0GlS4Sxbtoa4GKUOcOp/UPXfhtkgnwD+6XY5x8u8IwYT9QFPc61D3qf0MA9LFy2KV2UF/ZC5/LT8RyxSrNPxg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.0.0 <2.0.0-internal.5.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.0.0 <2.0.0-internal.5.1.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.5.0.0 <2.0.0-internal.5.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.17.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.17.0","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.0.0 <2.0.0-internal.5.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.0.0 <2.0.0-internal.5.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.0.0_1686012029391_0.06347376734775878","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.3.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.3.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.3.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"8e6449d064bcda95aca81831424f0bfaae50c3db","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.3.1.tgz","fileCount":28,"integrity":"sha512-sXPZwy5RGAJoVu5WtrRxpMJhiHuy3m+x2VlGl2c0QiBlfLYsNiq7ad/SVkuezVCPPhqQhrv9NFG2fmaril7atA==","signatures":[{"sig":"MEUCIQCLFDIuK+pRWDyr5MDH0sF7gxlgQiAxd9O++tqVLYMLLwIge0cqHeqRGg2z+YyTAGqTSqjoVZ0IP2kKsmldPtFxCXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29747},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.3.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.3.1.tgz","_integrity":"sha512-sXPZwy5RGAJoVu5WtrRxpMJhiHuy3m+x2VlGl2c0QiBlfLYsNiq7ad/SVkuezVCPPhqQhrv9NFG2fmaril7atA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.3.1 <2.0.0-internal.4.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.3.1 <2.0.0-internal.4.4.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.3.1 <2.0.0-internal.4.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.3.1 <2.0.0-internal.4.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.3.1 <2.0.0-internal.4.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.3.1_1686629154640_0.6731634527666737","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.4.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.4.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.4.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9e0644c8aa82d431f0c43eda323f38a0caca3249","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.4.1.tgz","fileCount":28,"integrity":"sha512-cgVwhcLQQMTSGjVIeg7JM9SoV7eLuzunphkjfBfl99n4vofFBz9hsMb1k5MSazt8tjXkjp14AKGKYyLI7AZ32A==","signatures":[{"sig":"MEUCIF/ExAeK8NfgJrPTb+DiuE7ifCRjCW1GJTXXyY0u3T57AiEA9rHH6AJJ1FlitKDXYv56r5qPRCXc+4XSV6BwU5IRBkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.4.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.4.1.tgz","_integrity":"sha512-cgVwhcLQQMTSGjVIeg7JM9SoV7eLuzunphkjfBfl99n4vofFBz9hsMb1k5MSazt8tjXkjp14AKGKYyLI7AZ32A==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.4.1 <2.0.0-internal.4.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.4.1 <2.0.0-internal.4.5.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.4.1 <2.0.0-internal.4.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.4.1 <2.0.0-internal.4.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.4.1 <2.0.0-internal.4.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.4.1_1686773308547_0.840053780330204","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.0.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2ff18992be951937cfe86f894a8fcd3b62dac041","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.0.1.tgz","fileCount":28,"integrity":"sha512-ABKMvHMr1+rAqgUX1UjQUfr1RUGVWy/8eK/AjHS/I5tLzcEBrqXQ61dPpvdqw6RYnl27mALpv4gg47mi9BOZBA==","signatures":[{"sig":"MEUCICtzLJ51QByyml8v4PB7y78EBS9PMpMk7PWzXLgIqwaWAiEAyIE6csJXnupghKdcexaaS9e8clzjbcj06WC6VX3gHjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29864},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.0.1.tgz","_integrity":"sha512-ABKMvHMr1+rAqgUX1UjQUfr1RUGVWy/8eK/AjHS/I5tLzcEBrqXQ61dPpvdqw6RYnl27mALpv4gg47mi9BOZBA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.0.1 <2.0.0-internal.5.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.0.1 <2.0.0-internal.5.1.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.5.0.1 <2.0.0-internal.5.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.0.1 <2.0.0-internal.5.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.0.1 <2.0.0-internal.5.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.0.1_1686777459537_0.1221586638414216","host":"s3://npm-registry-packages"}},"2.0.0-dev.5.2.0.169897":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.5.2.0.169897","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.5.2.0.169897","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9b4c9049e445d03dfad1ac371ad3e9b221b441b8","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.5.2.0.169897.tgz","fileCount":29,"integrity":"sha512-5dQtb0A3lXzt9e64GT++MeK30dOYXxItV+TXP59W+QrtXTRgVVIKjfg5Zlp/etLicJJ+aKTuq2z6d35zaq73UA==","signatures":[{"sig":"MEUCIGn255a/reislsnE46JImkwe9pYdGZTV/VfRYUU+8ERXAiEAj0WbrIyZER+K7hcYPCjByZiK/F9kKfMxVF3PSntZqHI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31088},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.5.2.0.169897.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub generate typetests --prepare --dir . --pin","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.5.2.0.169897.tgz","_integrity":"sha512-5dQtb0A3lXzt9e64GT++MeK30dOYXxItV+TXP59W+QrtXTRgVVIKjfg5Zlp/etLicJJ+aKTuq2z6d35zaq73UA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.5.2.0.169897","@fluidframework/telemetry-utils":"2.0.0-dev.5.2.0.169897","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"2.0.0-dev.5.2.0.169897"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.20.0-169245","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.20.0-169245","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":"2.0.0-dev.5.2.0.169897","@fluidframework/test-runtime-utils":"2.0.0-dev.5.2.0.169897","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.5.2.0.169897_1687362381632_0.45134367264872566","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a010499b30a66cc58962858cbcdad798f6f52bc7","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.1.0.tgz","fileCount":29,"integrity":"sha512-sKA00uRWjdob1yhXY3xSAODi2H3ScHbu8O1+iCHMjY0uw/6FmToFQ5MBrZXLkzhHmmBYIMisXHMyC8pGA5LwjQ==","signatures":[{"sig":"MEUCIQDCbuS8dJUZgyFy5jD8kVBlmuOo6qW9B4wVBEicA6Za+wIgDK8c+9XaEP0Vpqli0akoLoskqR85WzmcTaHRMJrK/y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31233},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub generate typetests --prepare --dir . --pin","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.1.0.tgz","_integrity":"sha512-sKA00uRWjdob1yhXY3xSAODi2H3ScHbu8O1+iCHMjY0uw/6FmToFQ5MBrZXLkzhHmmBYIMisXHMyC8pGA5LwjQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.1.0 <2.0.0-internal.5.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.1.0 <2.0.0-internal.5.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.5.1.0 <2.0.0-internal.5.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.19.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.19.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.1.0 <2.0.0-internal.5.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.1.0 <2.0.0-internal.5.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.1.0_1687371750421_0.43057837160593904","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7e903124dbc4167fcdc8b9f37d745611cbedc428","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.1.1.tgz","fileCount":29,"integrity":"sha512-j15bIlmv9dKAYGE9bq16J9Jbx7XkjQPoXZv+TiF114Zw6qernWK0JDaspmNr7Sm1gRdPHIsB96my9zWcMxaApQ==","signatures":[{"sig":"MEYCIQCfNzEE1rfBQZYvaaD8mIH35VVKNSqShyB0spErEJTx8AIhAO1zx1Yd2Z0CMBtArD5ybczucOzigUm16b5ypaLfx/sR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31233},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub generate typetests --prepare --dir . --pin","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.1.1.tgz","_integrity":"sha512-j15bIlmv9dKAYGE9bq16J9Jbx7XkjQPoXZv+TiF114Zw6qernWK0JDaspmNr7Sm1gRdPHIsB96my9zWcMxaApQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.1.1 <2.0.0-internal.5.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.1.1 <2.0.0-internal.5.2.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.5.1.1 <2.0.0-internal.5.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.19.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.19.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.1.1 <2.0.0-internal.5.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.1.1 <2.0.0-internal.5.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.1.1_1688080854304_0.29032208419128547","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"419fb4b69c9116ed45ad7ec6f65ebf6672c31ad6","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.2.0.tgz","fileCount":29,"integrity":"sha512-/7a9qwVV/+3F3Z7NFx+HF5xefw+9qG/JlfQb0LGvyziZ5FtLM4YEunivFKNuSmBKSsF6foN0lJ/LorFviHLf8g==","signatures":[{"sig":"MEUCIQCUx1F90j2UMoUs75W4hTTjHPi5Fop91w3JdodUUH4bzQIgCkFAw7kgTVeBwVvkzdTrQ99vQm9lt4QMs+uSpcTbT5M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31284},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub generate typetests --prepare --dir . --pin","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.2.0.tgz","_integrity":"sha512-/7a9qwVV/+3F3Z7NFx+HF5xefw+9qG/JlfQb0LGvyziZ5FtLM4YEunivFKNuSmBKSsF6foN0lJ/LorFviHLf8g==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.2.0 <2.0.0-internal.5.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.2.0 <2.0.0-internal.5.3.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.5.2.0 <2.0.0-internal.5.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.20.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.20.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.2.0 <2.0.0-internal.5.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.2.0 <2.0.0-internal.5.3.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.2.0_1688584342085_0.6175264309485866","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d30b70f2d36d601403005a0b2410eb94d0abdb5a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.3.0.tgz","fileCount":29,"integrity":"sha512-/t7P/982lx3Uf5oLmTj8zo/9me9moLV9fp/m7oD+tHkNRkB2M8Yj19fzckouFDMjoh0Fh3qYXsmtJloBgXs7Aw==","signatures":[{"sig":"MEUCIEhXSalSAyAMkOFovCgA2V8/LdB5yA9Tmx68ITqS8+X6AiEAz1c/wO1vOT7nLv+rIJRCBvb7RC8nKwhMMjQnLZoCRgU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30951},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.3.0.tgz","_integrity":"sha512-/t7P/982lx3Uf5oLmTj8zo/9me9moLV9fp/m7oD+tHkNRkB2M8Yj19fzckouFDMjoh0Fh3qYXsmtJloBgXs7Aw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.3.0 <2.0.0-internal.5.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.3.0 <2.0.0-internal.5.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.3.0 <2.0.0-internal.5.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.3.0 <2.0.0-internal.5.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.3.0 <2.0.0-internal.5.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.3.0_1689382544139_0.6813121329474425","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.4.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7debd9a3d3906bce279dd27be740a8a548c9cbb2","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.4.2.tgz","fileCount":28,"integrity":"sha512-+Kof9gSTGg3PXeKJ998DkL3y3wgX0kmZGiouxnqraduEOazhgW+IwW02GoW/IlKkcVmg3yYNDxJWZymp4G6CWw==","signatures":[{"sig":"MEYCIQDMQfstnatuGEK010QHR5Z/MpuSkh+t/1gb2Y6rbOo6iQIhAOlJU5S4tnq9GzEmocWpbL5ajEs/29pbuSTEI1keGwRP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.4.2.tgz","_integrity":"sha512-+Kof9gSTGg3PXeKJ998DkL3y3wgX0kmZGiouxnqraduEOazhgW+IwW02GoW/IlKkcVmg3yYNDxJWZymp4G6CWw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.4.2 <2.0.0-internal.4.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.4.2 <2.0.0-internal.4.5.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.4.2 <2.0.0-internal.4.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.4.2 <2.0.0-internal.4.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.4.2 <2.0.0-internal.4.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.4.2_1689973834700_0.6516328175345742","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.3.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.3.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.3.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"31c27316fd0dcb127c8967156fcc4d7b88b4b01f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.3.1.tgz","fileCount":29,"integrity":"sha512-JmLA0KN+hbYxyTNhG9wNa6+cuLjkbBSPQWqf8P0+MPRzP8xKp0Pv9b+cNXyv9kxaDyFhAQvyRFfZb162TlX0mw==","signatures":[{"sig":"MEYCIQCYY8yHRknX3nZ8Ms6WlIhYwWiH05kIjnJa4uTr9EsoogIhAM6OR5DQ5TpRAMR4aYmIYb1ZxFOlGdYTINdy8vcv5bf9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30951},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.3.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.3.1.tgz","_integrity":"sha512-JmLA0KN+hbYxyTNhG9wNa6+cuLjkbBSPQWqf8P0+MPRzP8xKp0Pv9b+cNXyv9kxaDyFhAQvyRFfZb162TlX0mw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.3.1 <2.0.0-internal.5.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.3.1 <2.0.0-internal.5.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.3.1 <2.0.0-internal.5.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.3.1 <2.0.0-internal.5.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.3.1 <2.0.0-internal.5.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.3.1_1690223913321_0.2904077647802865","host":"s3://npm-registry-packages"}},"2.0.0-dev.5.3.2.178189":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.5.3.2.178189","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.5.3.2.178189","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e7d51f0bfcaa3060e8af97d88c1fb3a30d13a86b","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.5.3.2.178189.tgz","fileCount":29,"integrity":"sha512-n/0zvIJ30qsfCDwPhpySEzZc1m2lmfewcNe5E2yVviVUJx/Sh8N6iRd+fRAzp5GvWwj6yjNVn+WgC1VT55HUSw==","signatures":[{"sig":"MEUCIFb8ry7sVTa42036ENifhedSHIjQvvZnysdpi8uZc4+VAiEAgQH0FpwvQIFLJ/1x+lxvsQ73+GaESSCdAlLHTOiNgtk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30843},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.5.3.2.178189.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.5.3.2.178189.tgz","_integrity":"sha512-n/0zvIJ30qsfCDwPhpySEzZc1m2lmfewcNe5E2yVviVUJx/Sh8N6iRd+fRAzp5GvWwj6yjNVn+WgC1VT55HUSw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.5.3.2.178189","@fluidframework/telemetry-utils":"2.0.0-dev.5.3.2.178189","@fluidframework/driver-definitions":"2.0.0-dev.5.3.2.178189"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":"2.0.0-dev.5.3.2.178189","@fluidframework/test-runtime-utils":"2.0.0-dev.5.3.2.178189","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.5.3.2.178189_1690310099438_0.0038762094657189827","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.4.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.4.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.4.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"186c6c1e192dfd69a2ca893b876503c3ef207a66","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.4.3.tgz","fileCount":28,"integrity":"sha512-fx/sgvmpYm0e2v1P3sPPWUx+vKIsD3yHdvICJykjZHrf/eAkYFCslh8IaUWETCXKuNCPJPJQro9BQ9r9dOWvRw==","signatures":[{"sig":"MEUCIQDLvQcXyCOvPVDgcJHs5stvaqArBW+b/9jUPeliMqvPgwIgGrry/Q9ZEChPA/Dt5c1jvakYEwtStd7QZcnFff1n9fU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.4.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.4.3.tgz","_integrity":"sha512-fx/sgvmpYm0e2v1P3sPPWUx+vKIsD3yHdvICJykjZHrf/eAkYFCslh8IaUWETCXKuNCPJPJQro9BQ9r9dOWvRw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.4.3 <2.0.0-internal.4.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.4.3 <2.0.0-internal.4.5.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.4.3 <2.0.0-internal.4.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.4.3 <2.0.0-internal.4.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.4.3 <2.0.0-internal.4.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.4.3_1690486482289_0.20657143996055716","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.3.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.3.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.3.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e0885fb771e7cffe22f99ae0789ef7a73e2b4ab8","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.3.2.tgz","fileCount":29,"integrity":"sha512-mBy96jMUn8yRDb26zVTgH9me25sWHgFCeWwgfsz7M41cmn4iavKB+iv/NDscMvbWbHu82+swNpXerXtHEjQ6WQ==","signatures":[{"sig":"MEUCIQDVnf4cyw3abn4l7dA0qaAMSIMMNPdACGdg3qBMTKKBIQIgFWyYeifnzOkTbTJnzPuDBumNjy23wvc8n3tnQaBxc0w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30951},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.3.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.3.2.tgz","_integrity":"sha512-mBy96jMUn8yRDb26zVTgH9me25sWHgFCeWwgfsz7M41cmn4iavKB+iv/NDscMvbWbHu82+swNpXerXtHEjQ6WQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.3.2 <2.0.0-internal.5.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.3.2 <2.0.0-internal.5.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.3.2 <2.0.0-internal.5.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.3.2 <2.0.0-internal.5.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.3.2 <2.0.0-internal.5.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.3.2_1690491951814_0.5920477875756338","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.4.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.4.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.4.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"70e0057e1fb80f42bf191c83346fe85af12d44d2","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.4.4.tgz","fileCount":28,"integrity":"sha512-nRgP5wQQnmLiHSondxUbPPrEGJ929aAz0NRnBTe0ki/woFuZnDR9WD1umMkCMB9h7Pj5pyfFhWPpVAMpbALHEg==","signatures":[{"sig":"MEUCIBXjLeNkY8ilqABFArdbIlI1Dj7wDMKx+2t6VXGhnRJEAiEA8mES5/tmmdqemoUM6ChfzifjOfeGZ42njCoAYSIGrYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.4.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.4.4.tgz","_integrity":"sha512-nRgP5wQQnmLiHSondxUbPPrEGJ929aAz0NRnBTe0ki/woFuZnDR9WD1umMkCMB9h7Pj5pyfFhWPpVAMpbALHEg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.4.4 <2.0.0-internal.4.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.4.4 <2.0.0-internal.4.5.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.4.4 <2.0.0-internal.4.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.4.4 <2.0.0-internal.4.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.4.4 <2.0.0-internal.4.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.4.4_1691098031562_0.9828590939403623","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b53463871480455bb28d3ba76548263f3c2a6e36","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.4.0.tgz","fileCount":29,"integrity":"sha512-NRw6XScL3elYCbgabvtG8YfFfGYlri5ny1U8ceT7aLZKlTBOrFXCrv4SeCpdw8nqpmEv19w45sK8MbWbFxmNgw==","signatures":[{"sig":"MEUCIQDpUVQyy5lErlbb4F8UvsboYh80dUmv+xsSE171cmxaCwIgXCBaUwWoK0ULsrxJqLw3vCMT11ZTcT2FNspYfYLrO9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31128},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.4.0.tgz","_integrity":"sha512-NRw6XScL3elYCbgabvtG8YfFfGYlri5ny1U8ceT7aLZKlTBOrFXCrv4SeCpdw8nqpmEv19w45sK8MbWbFxmNgw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.4.0 <2.0.0-internal.5.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.4.0 <2.0.0-internal.5.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.4.0 <2.0.0-internal.5.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.4.0 <2.0.0-internal.5.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.4.0 <2.0.0-internal.5.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.4.0_1691098303058_0.612773637363486","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"6766ce95b9205618ace9a476c8d8fe32e3067da0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.0.0.tgz","fileCount":29,"integrity":"sha512-aNZmZrQydaOnH0/T0d21pEBNhfc/9YTI18GtIXDAQSARLxthbKG5Q2Xxb3AjCKMusm9KoMmHbdkHRvIRqolEHw==","signatures":[{"sig":"MEUCIBULvLmpX3iPyyQ0goThmtqdH/fdSJ1eD6n2ew2GZUxbAiEAvP0OkE02DN2JCXdMi32dadECZtaQMJVORSAqtqurGsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31836},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.0.0.tgz","_integrity":"sha512-aNZmZrQydaOnH0/T0d21pEBNhfc/9YTI18GtIXDAQSARLxthbKG5Q2Xxb3AjCKMusm9KoMmHbdkHRvIRqolEHw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.0.0_1691101780690_0.13293085801740578","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.3.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.3.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.3.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9c8c92caf45170e00cb52c09b0d725b7ee42fa15","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.3.4.tgz","fileCount":29,"integrity":"sha512-cOR9ecWXK73V99MQb391b5tIRT3ae251nYx6FE1Evim1bhGx8oePt6ZQBm7BuN9eQNccHRZ9Q/vvGUrezrEZrA==","signatures":[{"sig":"MEUCIQCbO9gbOa8loYwcUTpqccjDqcG2UqvI0oQ01V4batx0MQIgYHQ93zW1Ai0LeMZq/eYq+ChnHH1J3wJ3Sga+yanXkmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30951},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.3.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.3.4.tgz","_integrity":"sha512-cOR9ecWXK73V99MQb391b5tIRT3ae251nYx6FE1Evim1bhGx8oePt6ZQBm7BuN9eQNccHRZ9Q/vvGUrezrEZrA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.3.4 <2.0.0-internal.5.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.3.4 <2.0.0-internal.5.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.3.4 <2.0.0-internal.5.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.3.4 <2.0.0-internal.5.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.3.4 <2.0.0-internal.5.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.3.4_1691439828178_0.9568163671655874","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7c28f64c6c5d5a050c855e26df5906f324be9725","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.1.0.tgz","fileCount":29,"integrity":"sha512-OuGIXLYsv2pkBytAgOWy6D0L2nBfQTzu8VpFmvCgHqfH8v3zJvs8cVcCo6Z/kLcfS7ssuIiBbkJqmpnlNAFsxg==","signatures":[{"sig":"MEQCIBzUWb0Wp1djmS7bUftc9wvUy8POzP+2U2lUFhv+ea6DAiBykO6bNIbDDk2JinOlTmMPCIEXv/WkoX3CQpY6Wkwgxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31887},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.1.0.tgz","_integrity":"sha512-OuGIXLYsv2pkBytAgOWy6D0L2nBfQTzu8VpFmvCgHqfH8v3zJvs8cVcCo6Z/kLcfS7ssuIiBbkJqmpnlNAFsxg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.1.0_1692140586262_0.5260636161792906","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b1ba0f6e1104afe516ce77492772c1f2951250b5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.1.1.tgz","fileCount":29,"integrity":"sha512-zbPV/nHaatIl781x4FitKT1FE+dlN5HHh4Mh1f0dm9EzV7E1ATi5Dr81h/4BgzFK9EKK71tAj1zX1HhOf9Cv2A==","signatures":[{"sig":"MEUCIQCM6j1otmYOWSaK93+Oqau65JeYv4keLdKKyJ2l6w9y7wIgKcbbTGh1O3zvy1PTsqq7EKslxVmuOAHM5Pwx3lIqM9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31887},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.1.1.tgz","_integrity":"sha512-zbPV/nHaatIl781x4FitKT1FE+dlN5HHh4Mh1f0dm9EzV7E1ATi5Dr81h/4BgzFK9EKK71tAj1zX1HhOf9Cv2A==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.1.1 <2.0.0-internal.6.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.1.1 <2.0.0-internal.6.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.1.1 <2.0.0-internal.6.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.1.1 <2.0.0-internal.6.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.1.1 <2.0.0-internal.6.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.1.1_1692316421994_0.22151182981643802","host":"s3://npm-registry-packages"}},"2.0.0-internal.5.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.5.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.5.4.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"4eb7c90d1ea65df540d3f90c2ffe1b274858cca1","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.5.4.2.tgz","fileCount":29,"integrity":"sha512-S7CZ9D/vULhVMlW/Trzd7YdSXn03odASlCOYsvX/BMDoIFFRkIH2RdpTa1Vhx0gCpPl+by+9RSQkZn7pNONQQw==","signatures":[{"sig":"MEQCIFQdhrfyg4GQRJo8iikRAW06ILVeWaoyYhsZta6TqoWVAiAD5Da6dP74jiGyiKwTHXRw6HsHgzKAHEG2UDk4ldqPng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31128},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.5.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.5.4.2.tgz","_integrity":"sha512-S7CZ9D/vULhVMlW/Trzd7YdSXn03odASlCOYsvX/BMDoIFFRkIH2RdpTa1Vhx0gCpPl+by+9RSQkZn7pNONQQw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.5.4.2 <2.0.0-internal.5.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.5.4.2 <2.0.0-internal.5.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.5.4.2 <2.0.0-internal.5.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^1.2.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.5.4.2 <2.0.0-internal.5.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.5.4.2 <2.0.0-internal.5.5.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.5.4.2_1692546727060_0.5694718842109439","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.0.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"406af1c5e67fe10b86ffef3e8d09af57e2ee1784","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.0.1.tgz","fileCount":29,"integrity":"sha512-HovOHlpLtDinE8ALaWM3DzQOKXhwJF1zO/1PNQGw6SfsKELoa/BBSlDkJiysj5DiXjSEDK5HKmoAKkqyL4gJoA==","signatures":[{"sig":"MEQCIGLhviTe7ZLpysHMcMCMoXbZvOD5gejmNKTqAXNMBfZpAiB65476uaFABmuqLOqi+EvfSPYw7JaKgvwnBWiPuK2BOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31836},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.0.1.tgz","_integrity":"sha512-HovOHlpLtDinE8ALaWM3DzQOKXhwJF1zO/1PNQGw6SfsKELoa/BBSlDkJiysj5DiXjSEDK5HKmoAKkqyL4gJoA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.0.1 <2.0.0-internal.6.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.0.1 <2.0.0-internal.6.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.0.1 <2.0.0-internal.6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.0.1 <2.0.0-internal.6.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.0.1 <2.0.0-internal.6.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.0.1_1692566624561_0.794007488615414","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1a7de9954a35e3d23e4aa26dd0debda1f3323075","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.2.0.tgz","fileCount":29,"integrity":"sha512-5GN7C+rdz7md4QRN49sIePr5cSKUsPhfg4fyVQE79P8KnIUcQHaD3EDZcHR/l/EkNey65Hmd7IjoRWTtiZzX+Q==","signatures":[{"sig":"MEUCIQChXUGsitvPJuNq0VB2cT5xsqdYAqXYEH9/2IPk7f+ijgIgEH68A/3iuurrdR7cl6Rhj8t7FrP5xdjerOUasts/Exc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32016},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.2.0.tgz","_integrity":"sha512-5GN7C+rdz7md4QRN49sIePr5cSKUsPhfg4fyVQE79P8KnIUcQHaD3EDZcHR/l/EkNey65Hmd7IjoRWTtiZzX+Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.2.0 <2.0.0-internal.6.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.2.0 <2.0.0-internal.6.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.2.0 <2.0.0-internal.6.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.23.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.23.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.2.0 <2.0.0-internal.6.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.2.0 <2.0.0-internal.6.3.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.2.0_1693333573550_0.8992568928825866","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"848437bce80ad9e38b31f80223eb2b16778d3506","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.3.0.tgz","fileCount":29,"integrity":"sha512-QcI9Dh8hYG5AIoUcfkkrwjB1X9G17+u1x+tYPTvg8KjE7nHNu/BBw05AdF2OEQJ8MlN5kgR3AVtOwJhQBld/Xw==","signatures":[{"sig":"MEUCIQDGwbjSlmTnvaJ4pFAaJcoSwPDh3J+2aKICniWvMNY3owIgacaOQRrz5ftqukPVcJJ3o0E7Q1cL+EZzQx4lRbxmbMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31834},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.3.0.tgz","_integrity":"sha512-QcI9Dh8hYG5AIoUcfkkrwjB1X9G17+u1x+tYPTvg8KjE7nHNu/BBw05AdF2OEQJ8MlN5kgR3AVtOwJhQBld/Xw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.3.0 <2.0.0-internal.6.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.3.0 <2.0.0-internal.6.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.3.0 <2.0.0-internal.6.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.3.0 <2.0.0-internal.6.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.3.0 <2.0.0-internal.6.4.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.3.0_1694039879299_0.6022713692632895","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.3.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.3.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.3.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d50d03b009e8172477fffe82387ef0e7191be074","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.3.1.tgz","fileCount":29,"integrity":"sha512-EgXNP8I/hfWwahLamOgryRKxwWTKmSEuxlYq0Eb3YPbD7xAP4EX0HGT0GjPR2oJyVo70ASJ6YIisTt6190otSg==","signatures":[{"sig":"MEQCIH+TmebPREfWykzibbsf/zJaXly4lnx6cNtKhI7dmfTfAiAwfy6alkvfqKwfYRzCZmQPxAjfmweoqp6WMRxlr7xdbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31834},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.3.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.3.1.tgz","_integrity":"sha512-EgXNP8I/hfWwahLamOgryRKxwWTKmSEuxlYq0Eb3YPbD7xAP4EX0HGT0GjPR2oJyVo70ASJ6YIisTt6190otSg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.3.1 <2.0.0-internal.6.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.3.1 <2.0.0-internal.6.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.3.1 <2.0.0-internal.6.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.3.1 <2.0.0-internal.6.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.3.1 <2.0.0-internal.6.4.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.3.1_1694116733110_0.6093424753994758","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.0.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.0.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.0.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a3774d2b8ab18970f3045099304ae492ef375745","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.0.2.tgz","fileCount":29,"integrity":"sha512-XHFPyT/uLpb1iO6qgMvx4dIPPe1W4jtByFGa0oOdYGeBu+iZchnSUOQWlXsvzElkzQUSuUDs2dUjRc6uDhDcHg==","signatures":[{"sig":"MEUCIQD1YBaWlxUhzegg3tZ+38Bo3bWbUHjfXK1+LPfXfQYpTwIgG/IcDsT7sAH1JRcPUhspWUkMp1EveD4XL9eztzRe/qo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31836},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.0.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.0.2.tgz","_integrity":"sha512-XHFPyT/uLpb1iO6qgMvx4dIPPe1W4jtByFGa0oOdYGeBu+iZchnSUOQWlXsvzElkzQUSuUDs2dUjRc6uDhDcHg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.0.2 <2.0.0-internal.6.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.0.2 <2.0.0-internal.6.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.0.2 <2.0.0-internal.6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.0.2 <2.0.0-internal.6.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.0.2 <2.0.0-internal.6.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.0.2_1694134786321_0.4441433226520888","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.3.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.3.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.3.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2c9d3cbe3203ec31b36beb32ae8dca8f7de9eeac","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.3.2.tgz","fileCount":29,"integrity":"sha512-r6B4Ot0Vl8d5e4/rf0JwGZvR+iN8PXG+tdSNpMcsDU/eD4o23iUEWOGJAvXw1VQgCbmfQBYYr8RnUo0hOtmrvw==","signatures":[{"sig":"MEUCIQDNt/Qmk0Jsvdg2hA5DisCbUht4ToC/oFAWI6c4xYQVzwIgOyybXOtxfdmYJvDa4t0rD8YvOTUIPP7fv2lGXH9DX1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31834},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.3.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.3.2.tgz","_integrity":"sha512-r6B4Ot0Vl8d5e4/rf0JwGZvR+iN8PXG+tdSNpMcsDU/eD4o23iUEWOGJAvXw1VQgCbmfQBYYr8RnUo0hOtmrvw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.3.2 <2.0.0-internal.6.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.3.2 <2.0.0-internal.6.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.3.2 <2.0.0-internal.6.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.3.2 <2.0.0-internal.6.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.3.2 <2.0.0-internal.6.4.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.3.2_1694213260382_0.5109337915128307","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.1.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.1.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.1.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d426aeaa92f253ab15c44a0791c468aff081d89c","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.1.2.tgz","fileCount":29,"integrity":"sha512-J3hEAsb69y4MhbMm4YD+ewAAfaI19iDZuFgaZ2OLkPuD1fmeKBMdY5UGNgRf3oFIChys049KNrwJtALizPfVzQ==","signatures":[{"sig":"MEYCIQDgbNp8noFOf+hBGXV5RCGU3ehNZbixlu1pUP0pybQeoAIhAIHQj4Ova7xlp48crp0kAqkzEFARBhNZNM4Gk3JKFLIi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31887},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.1.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.1.2.tgz","_integrity":"sha512-J3hEAsb69y4MhbMm4YD+ewAAfaI19iDZuFgaZ2OLkPuD1fmeKBMdY5UGNgRf3oFIChys049KNrwJtALizPfVzQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.1.2 <2.0.0-internal.6.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.1.2 <2.0.0-internal.6.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.1.2 <2.0.0-internal.6.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.1.2 <2.0.0-internal.6.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.1.2 <2.0.0-internal.6.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.1.2_1694452891039_0.9517029945828075","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.0.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.0.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.0.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"5d494677b2db4602a9e52dcdcc60e8bd417d30fc","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.0.3.tgz","fileCount":29,"integrity":"sha512-FYm3iCNLWGXwwPSJ10Ad7N60CV4//wWquAhrvF4ILC8BtpCitLYqDbkzPC2D+cfu1PSmndoE7ouj4CSFZAwRyw==","signatures":[{"sig":"MEUCIQD0ib0+ZT62nzLixR/vRWSPrL8Ii28YQTExNSefljIW0wIgaxgmEvizXVaXvbChVJbWQEFYLahi0QX6osxAlzDK2VQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31836},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.0.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.0.3.tgz","_integrity":"sha512-FYm3iCNLWGXwwPSJ10Ad7N60CV4//wWquAhrvF4ILC8BtpCitLYqDbkzPC2D+cfu1PSmndoE7ouj4CSFZAwRyw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.0.3 <2.0.0-internal.6.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.0.3 <2.0.0-internal.6.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.0.3 <2.0.0-internal.6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.0.3 <2.0.0-internal.6.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.0.3 <2.0.0-internal.6.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.0.3_1694453028774_0.27494603701873666","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.2.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"61668515e968df6d63e9a5512409cf4a82f70f23","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.2.1.tgz","fileCount":29,"integrity":"sha512-zNiuoAt9DQyMIEYBMQBH/DwM1MkbQUBp2icBGD4L95fcgy1C/Z152/wlSHRkqr1fJz20ZrzVc9X7HmCKiOsg5Q==","signatures":[{"sig":"MEUCIA37PhqbbhD4eD1RtNZuO/FTo2XGLlNvKs2VdewoOGUUAiEApgiBnOGMN+tbqwH1et8Nym9V3wZQuxy2SAXSKrt++xA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32016},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.2.1.tgz","_integrity":"sha512-zNiuoAt9DQyMIEYBMQBH/DwM1MkbQUBp2icBGD4L95fcgy1C/Z152/wlSHRkqr1fJz20ZrzVc9X7HmCKiOsg5Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.2.1 <2.0.0-internal.6.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.2.1 <2.0.0-internal.6.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.2.1 <2.0.0-internal.6.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.23.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.23.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.2.1 <2.0.0-internal.6.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.2.1 <2.0.0-internal.6.3.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.2.1_1694453185363_0.4571432646378857","host":"s3://npm-registry-packages"}},"2.0.0-internal.4.3.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.4.3.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.4.3.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"36344ee6b22756577b648ac835ba5cf8e46f6dd6","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.4.3.2.tgz","fileCount":28,"integrity":"sha512-ASIG9z6TVJhPkf2PxuvOwsQfbBlDzI6iKXxsqbrDsw4XrsOcM0PNtt7lmji2G4vb7+KhhBxi2p+lQzXwX7vGbw==","signatures":[{"sig":"MEQCIEE+Vrt93nsPVfEAvqyUgivH3JJJMhcEu88gsI/n3vwaAiAjCKymOq9A2brRanr/inPFY5MNTU07JzX9lqroAIah5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29747},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.4.3.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"concurrently npm:build:compile npm:lint && npm run build:docs","clean":"rimraf dist lib *.tsbuildinfo *.build.log","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"npm run tsc && npm run typetests:gen && npm run build:test","typetests:prepare":"flub generate typetests --prepare --dir . --pin","build:full:compile":"npm run build:compile","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.4.3.2.tgz","_integrity":"sha512-ASIG9z6TVJhPkf2PxuvOwsQfbBlDzI6iKXxsqbrDsw4XrsOcM0PNtt7lmji2G4vb7+KhhBxi2p+lQzXwX7vGbw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.19.4","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.20.2","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.4.3.2 <2.0.0-internal.4.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.4.3.2 <2.0.0-internal.4.4.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":">=2.0.0-internal.4.3.2 <2.0.0-internal.4.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^14.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.18.2","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.18.2","@fluidframework/build-common":"^1.1.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.4.3.2 <2.0.0-internal.4.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.4.3.2 <2.0.0-internal.4.4.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.4.3.2_1694465794026_0.08447108724569041","host":"s3://npm-registry-packages"}},"2.0.0-dev.6.4.0.191258":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.6.4.0.191258","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.6.4.0.191258","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"23a42d142cd7fe921240e32687e790b7147e2276","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.6.4.0.191258.tgz","fileCount":29,"integrity":"sha512-jwCPPnNNiIiHhvCrqiG3ExfWwH0XKLcXRcNhr1Hx8dQJqqO+WY+HVTEKl+fteQSjMz8ObFHdeZ1ek8zusC+15Q==","signatures":[{"sig":"MEQCICDnESNqgscLhe/mrlglUvCjkgTsNUcHvjAUtMvJZgHsAiAc4ohrvRdpBf0VIiAFX4KgSKoEVpX/KYE2ttAoAoGIGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31845},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191258.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191258.tgz","_integrity":"sha512-jwCPPnNNiIiHhvCrqiG3ExfWwH0XKLcXRcNhr1Hx8dQJqqO+WY+HVTEKl+fteQSjMz8ObFHdeZ1ek8zusC+15Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.6.4.0.191258","@fluidframework/telemetry-utils":"2.0.0-dev.6.4.0.191258","@fluidframework/driver-definitions":"2.0.0-dev.6.4.0.191258"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.6.4.0.191258","@fluidframework/test-runtime-utils":"2.0.0-dev.6.4.0.191258","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.6.4.0.191258_1695095487814_0.8842151935466778","host":"s3://npm-registry-packages"}},"2.0.0-dev.6.4.0.191457":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.6.4.0.191457","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.6.4.0.191457","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0becb155a5a3d868679e4275bff920839ec1078f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.6.4.0.191457.tgz","fileCount":29,"integrity":"sha512-HYImi3UYYOPXoY7faj5/yKk8mpsQJ3XD/Yf/PmFPab47nEcdJ5VAiErMi1+NeL46tA19QOo7d8pY5zYQol/6Yw==","signatures":[{"sig":"MEQCIDv5NLPokJSCC1CiZsIcVzbc+6pk5Nch5Hhmk4MJZna4AiAE4n3jQCla9X6Eu2oqa9XSIC2DKwWRzfaGp7q5jrBPrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31845},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191457.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191457.tgz","_integrity":"sha512-HYImi3UYYOPXoY7faj5/yKk8mpsQJ3XD/Yf/PmFPab47nEcdJ5VAiErMi1+NeL46tA19QOo7d8pY5zYQol/6Yw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.6.4.0.191457","@fluidframework/telemetry-utils":"2.0.0-dev.6.4.0.191457","@fluidframework/driver-definitions":"2.0.0-dev.6.4.0.191457"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.6.4.0.191457","@fluidframework/test-runtime-utils":"2.0.0-dev.6.4.0.191457","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.6.4.0.191457_1695165601258_0.5475198915229142","host":"s3://npm-registry-packages"}},"2.0.0-dev.6.4.0.191515":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.6.4.0.191515","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.6.4.0.191515","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1e11cf7f12dd43ffa2bebf98f1a492bfac1bffef","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.6.4.0.191515.tgz","fileCount":29,"integrity":"sha512-iBeKZ6qq84fvLhJAFuNkih6/z8JtdzjDvvlewXdJGstdv+4Oux/mjaF++FZpx3pAaPeR8l7OAo0dKW8KcKHF0g==","signatures":[{"sig":"MEYCIQCWN7rO8diUHLsk/4MaRcrP6cHkDYVfLYsRsjrQswUMlAIhAPPRfQr4Zu1VJvV3H+d1EKwuXwl6XYlPJMDtk/nLUzpB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31845},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191515.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.191515.tgz","_integrity":"sha512-iBeKZ6qq84fvLhJAFuNkih6/z8JtdzjDvvlewXdJGstdv+4Oux/mjaF++FZpx3pAaPeR8l7OAo0dKW8KcKHF0g==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.6.4.0.191515","@fluidframework/telemetry-utils":"2.0.0-dev.6.4.0.191515","@fluidframework/driver-definitions":"2.0.0-dev.6.4.0.191515"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.6.4.0.191515","@fluidframework/test-runtime-utils":"2.0.0-dev.6.4.0.191515","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.6.4.0.191515_1695170000545_0.20377316618353425","host":"s3://npm-registry-packages"}},"2.0.0-dev.6.4.0.192049":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.6.4.0.192049","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.6.4.0.192049","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d2c26df517860f47c9b78d6dad4302683b714f49","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.6.4.0.192049.tgz","fileCount":29,"integrity":"sha512-wgNm0L4lQjeQZrwda8cm+LFWC24a5GTlObicvfBJRrb17T+2B7tLr0WYXQlPqgX+7aXdqZiEeTCpu7DK3hLWQg==","signatures":[{"sig":"MEYCIQCKNT7fwzkoUCIf62AfCZUWipY/2zEyXcguJKHTq2W/cAIhANggY1tatOLRzsMNr+1Au+o2drxoscNhYjqLzAVWAHYU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31845},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.192049.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.6.4.0.192049.tgz","_integrity":"sha512-wgNm0L4lQjeQZrwda8cm+LFWC24a5GTlObicvfBJRrb17T+2B7tLr0WYXQlPqgX+7aXdqZiEeTCpu7DK3hLWQg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.6.4.0.192049","@fluidframework/telemetry-utils":"2.0.0-dev.6.4.0.192049","@fluidframework/driver-definitions":"2.0.0-dev.6.4.0.192049"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":"2.0.0-dev.6.4.0.192049","@fluidframework/test-runtime-utils":"2.0.0-dev.6.4.0.192049","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.6.4.0.192049_1695252891958_0.21390606900226117","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.3.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.3.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.3.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"3667c7a540b54228bfe0c71a3ae17f47f1be2479","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.3.3.tgz","fileCount":29,"integrity":"sha512-vGfe9cEqfVqhriGUQy9G6MyS4N56nEElWH7v5ugDbHA6exG+CYfo5Yk7AyKXL72yqQfP3bxuOzyZsUpenkEHjA==","signatures":[{"sig":"MEQCIDSH6OVthH8+COZjr3zM+gbPzWHUQWPUkRdFS/UDY0cUAiBSVo4fL9mUvNyEQyy3hve5geikro0wpxvjvuiOUOFxRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31834},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.3.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.3.3.tgz","_integrity":"sha512-vGfe9cEqfVqhriGUQy9G6MyS4N56nEElWH7v5ugDbHA6exG+CYfo5Yk7AyKXL72yqQfP3bxuOzyZsUpenkEHjA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.3.3 <2.0.0-internal.6.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.3.3 <2.0.0-internal.6.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.3.3 <2.0.0-internal.6.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.3.3 <2.0.0-internal.6.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.3.3 <2.0.0-internal.6.4.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.3.3_1695333237971_0.38453975228123594","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"7ffb9e9e1396ad6ef11dda01e113ce33378808c8","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.4.0.tgz","fileCount":29,"integrity":"sha512-Xg/nfLjI6Op3izx7vw9nMcDXE82MazqG8gdz4A7GXs8sANH1KYOQjj3RyETNuOAvLihIaLlIpZhHKXK5Ig6hsw==","signatures":[{"sig":"MEUCIBnLL7yORJLvc7APGL+e7gGWT6J7EKIJodZSNX/pgbW/AiEA5bKvvdodsRlD/h2Ltaygea1sjL2gMvC2mKJwzoIszeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32004},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.4.0.tgz","_integrity":"sha512-Xg/nfLjI6Op3izx7vw9nMcDXE82MazqG8gdz4A7GXs8sANH1KYOQjj3RyETNuOAvLihIaLlIpZhHKXK5Ig6hsw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.4.0 <2.0.0-internal.6.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.4.0 <2.0.0-internal.6.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.4.0 <2.0.0-internal.6.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.4.0 <2.0.0-internal.6.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.4.0 <2.0.0-internal.6.5.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.4.0_1695863147885_0.501962532052042","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.0.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.0.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.0.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"a378e80fc1003aa505e322f361e81ee3ded4ded0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.0.0.tgz","fileCount":29,"integrity":"sha512-rVQa6Ui0DbB68gNHXDimOO1Bm43U7w5e2fsSfsu1oSzjGvwfGBTrtUd1jMCrzY7K1rBAaXVv0diHvCh5uYn+jw==","signatures":[{"sig":"MEUCIQDQDJOBBNAloI+3aoa1tRy+C1yvb6Btkozz/Gx/8CIJtwIgakOn9NKpbbPeF/OTbTHlpLkYuYrzgTTSo/MBrEDJdZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.0.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.0.0.tgz","_integrity":"sha512-rVQa6Ui0DbB68gNHXDimOO1Bm43U7w5e2fsSfsu1oSzjGvwfGBTrtUd1jMCrzY7K1rBAaXVv0diHvCh5uYn+jw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.0.0 <2.0.0-internal.7.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.0.0 <2.0.0-internal.7.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.0.0 <2.0.0-internal.7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.24.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.24.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.0.0 <2.0.0-internal.7.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.0.0 <2.0.0-internal.7.1.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.0.0_1695922992929_0.34808181600263","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.0.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.0.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.0.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"5bec383f59997276c9c234142889f5eefe2ebc78","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.0.4.tgz","fileCount":29,"integrity":"sha512-tByPNbpnlSUkIzPhCv5KganHnx+B+Vv8GXE/3dlm7oGZIfYr0tZDSeIpa1t/luWCFDLgTV0us9XHcCDFTJvbbw==","signatures":[{"sig":"MEUCIQCVJs6kpadFJ8p89+KCr0z9TP0qSPuir//k9E7GLtMNOAIgQ/gdiGVAJbPZEwaOV3Lsu9nhWP81z3RiGuGPBEO6de0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31836},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.0.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.0.4.tgz","_integrity":"sha512-tByPNbpnlSUkIzPhCv5KganHnx+B+Vv8GXE/3dlm7oGZIfYr0tZDSeIpa1t/luWCFDLgTV0us9XHcCDFTJvbbw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.0.4 <2.0.0-internal.6.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.0.4 <2.0.0-internal.6.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.0.4 <2.0.0-internal.6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.21.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.21.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.0.4 <2.0.0-internal.6.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.0.4 <2.0.0-internal.6.1.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.0.4_1696292894482_0.8243261805024515","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.1.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.1.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.1.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"41091b9df9b83f07fe2fd079cccdce01d74ec63d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.1.3.tgz","fileCount":29,"integrity":"sha512-5Typ5uZPgrUy4Wq8taq2vZOaeqf85l0IOUC5KkJn021wObGIcC6/UgpmPnHiljQSyYBo+fitbcW+mmQjelO92g==","signatures":[{"sig":"MEYCIQC2O11mg4nY4qxyDPOiYFnOG5yo+miIDZ6dbCHbKMBG6wIhALq9Y4VhNleQvYl4TPj1IZHLUG0JgvMV9G9cArCDrESB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31887},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.1.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form 2.0.0-internal.x.y.z, called the Fluid internal version\nscheme, you must use a `>= <` dependency range. Standard `^` and `~` ranges will not work as expected. See the\n[@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.1.3.tgz","_integrity":"sha512-5Typ5uZPgrUy4Wq8taq2vZOaeqf85l0IOUC5KkJn021wObGIcC6/UgpmPnHiljQSyYBo+fitbcW+mmQjelO92g==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.1.3 <2.0.0-internal.6.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.1.3 <2.0.0-internal.6.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.1.3 <2.0.0-internal.6.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.1.3 <2.0.0-internal.6.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.1.3 <2.0.0-internal.6.2.0","@fluidframework/eslint-config-fluid":"^2.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.1.3_1696297191701_0.8648943044559958","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.3.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.3.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.3.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"dc5a6f18a0c472ff360220bcc74a3b4719ec76ab","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.3.4.tgz","fileCount":29,"integrity":"sha512-UGu7dSYM306QtIGt2IaxKARO5ZxRoFYFajZIVYfyk5G7PT0skUwyM55odssMlpRNzTaZaBX6lgILYCaIx7mtKA==","signatures":[{"sig":"MEUCIQCyLh6Hk2sMal4TMpb6UzkEXFyVbh095aXl/A8zgHGa+gIgLWLQ1+Nr7cNcg3Wj/Gqp7zAgspRFngaT3JdRuEvg5cc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31834},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.3.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.3.4.tgz","_integrity":"sha512-UGu7dSYM306QtIGt2IaxKARO5ZxRoFYFajZIVYfyk5G7PT0skUwyM55odssMlpRNzTaZaBX6lgILYCaIx7mtKA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.3.4 <2.0.0-internal.6.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.3.4 <2.0.0-internal.6.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.3.4 <2.0.0-internal.6.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.22.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.22.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.3.4 <2.0.0-internal.6.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.3.4 <2.0.0-internal.6.4.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.3.4_1696300851683_0.40049571322963495","host":"s3://npm-registry-packages"}},"2.0.0-internal.6.2.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.6.2.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.6.2.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"nyc":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"3c931ef88b6a87e551f70e1cecbbe9ddb5e83f56","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.6.2.2.tgz","fileCount":29,"integrity":"sha512-ZBFcYWd+hIFvJpsZeCJmXMukgQvmgcv/Ow4n8CQJDiQPXNLYqZKddVf9L5WKIv+9aNTSGnh7+Nc0YCndfLDL9A==","signatures":[{"sig":"MEUCICdJsl1J7Jx+URAGEoZsEABCstnEOhXhe8tFGAYaKOQnAiEAsd+QL/9kUbwuV+WMtu582RcE+lUaOeR2F1M9jKMHW8Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32016},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.6.2.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob \"dist\" \"lib\" \"*.tsbuildinfo\" \"*.build.log\"","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict","test:report":"npm test -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"nyc npm run test:report","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha","test:mocha:multireport":"cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.6.2.2.tgz","_integrity":"sha512-ZBFcYWd+hIFvJpsZeCJmXMukgQvmgcv/Ow4n8CQJDiQPXNLYqZKddVf9L5WKIv+9aNTSGnh7+Nc0YCndfLDL9A==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"8.11.0","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.6.2.2 <2.0.0-internal.6.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.6.2.2 <2.0.0-internal.6.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.6.2.2 <2.0.0-internal.6.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"nyc":"^15.1.0","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~4.5.5","@types/node":"^16.18.38","@types/mocha":"^9.1.1","concurrently":"^7.6.0","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.23.0","@microsoft/api-extractor":"^7.34.4","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.23.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.6.2.2 <2.0.0-internal.6.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.6.2.2 <2.0.0-internal.6.3.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.6.2.2_1696310048866_0.3435466109309129","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.1.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.1.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0228c39559bad4c7cb2cc2f82f0f2b5b00731a20","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.1.0.tgz","fileCount":25,"integrity":"sha512-Ovbg4v+DxTD/VVvZIDq1k/crdg2tWl9H7TLS4Dqii8DHV5BVo1gnQZ+L+DguKXWn8B96ZeeQQFP7QTBR9An2mg==","signatures":[{"sig":"MEUCIQCgP9BrNWA8vzLfDsjoelJmzxhG2yvfBKCklXUhHnCRIAIgUqiGiGqlBeAvRMLctbluwWGodRXMClQgGKq4MPID0Sw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.1.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.1.0.tgz","_integrity":"sha512-Ovbg4v+DxTD/VVvZIDq1k/crdg2tWl9H7TLS4Dqii8DHV5BVo1gnQZ+L+DguKXWn8B96ZeeQQFP7QTBR9An2mg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0","@fluidframework/container-loader":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.25.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.25.0","@fluidframework/build-common":"^2.0.1","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.1.0 <2.0.0-internal.7.2.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.1.0_1697236597568_0.14473113623811495","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.2.0.203917":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.2.0.203917","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.2.0.203917","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"2bd4b59cef0beafd19332956a8da68c9fd49a7dd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.2.0.203917.tgz","fileCount":25,"integrity":"sha512-lPpgx9SJo7E7x+EuhHXCy1xF5Nf/TbyJTKtcDHbzshplf6/J2sXZI75SEQUdHxDp9KFEcaE7NZB3ea02HHUtyw==","signatures":[{"sig":"MEQCIDza5oTiqpe+mh/gbK10wSyfmuMDyjSxT/Pu9OwiulUUAiAbICJ3KM45sPhV6j4X4LayWlcnvmxcUUhi9LfE1RMQ8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21134},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.203917.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.203917.tgz","_integrity":"sha512-lPpgx9SJo7E7x+EuhHXCy1xF5Nf/TbyJTKtcDHbzshplf6/J2sXZI75SEQUdHxDp9KFEcaE7NZB3ea02HHUtyw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.2.0.203917","@fluidframework/telemetry-utils":"2.0.0-dev.7.2.0.203917","@fluidframework/container-loader":"2.0.0-dev.7.2.0.203917","@fluidframework/driver-definitions":"2.0.0-dev.7.2.0.203917"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"0.26.0-203096","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"0.26.0-203096","@fluidframework/build-common":"^2.0.2","@fluidframework/mocha-test-setup":"2.0.0-dev.7.2.0.203917","@fluidframework/test-runtime-utils":"2.0.0-dev.7.2.0.203917","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.2.0.203917_1698100196404_0.08096222777858286","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.2.0.204906":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.2.0.204906","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.2.0.204906","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f46d3bd1e92fc32439edbaf28392daefba5b268d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.2.0.204906.tgz","fileCount":25,"integrity":"sha512-SqK86+LqaOEsIpKw8EoDIO2lmoQAuPLs6wuKfYFAhMEWRNQu9KCh5ZsuQ7zZCffu4Gtwxk/Dc6maAdziaEbRcA==","signatures":[{"sig":"MEUCIFzNJ9ObkuHCD4pGP6tp8r/AeVguNnf4LMqf8s/5S0r1AiEA3D3q+FEEwDkyfgFv8ipE4fW3SkXEVOg+UP6t7DMcnzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21134},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.204906.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.204906.tgz","_integrity":"sha512-SqK86+LqaOEsIpKw8EoDIO2lmoQAuPLs6wuKfYFAhMEWRNQu9KCh5ZsuQ7zZCffu4Gtwxk/Dc6maAdziaEbRcA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.2.0.204906","@fluidframework/telemetry-utils":"2.0.0-dev.7.2.0.204906","@fluidframework/container-loader":"2.0.0-dev.7.2.0.204906","@fluidframework/driver-definitions":"2.0.0-dev.7.2.0.204906"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"0.26.0-203096","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"0.26.0-203096","@fluidframework/build-common":"^2.0.2","@fluidframework/mocha-test-setup":"2.0.0-dev.7.2.0.204906","@fluidframework/test-runtime-utils":"2.0.0-dev.7.2.0.204906","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.2.0.204906_1698254642180_0.49613940000795953","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.2.0.205722":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.2.0.205722","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.2.0.205722","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e6fa62bc8229922f6e15b7d5769566dbfc3882c0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.2.0.205722.tgz","fileCount":21,"integrity":"sha512-Vo4s+OuMK8ILktxI0n0m2SZBr+mI+3FaDzrB+4tbkl/JVHGUHCjODqfter2vez7/I8yUhfDIImUNG5YrS5G1Sw==","signatures":[{"sig":"MEYCIQCUPOhdcj8y7o7htdJbRi4XHwwLHi7dQbsddYl2If/9pQIhANlQML5W8++nrZpvMjZ1IYABxp8CmB1aWyUQ29/vyjBC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19086},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.205722.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.2.0.205722.tgz","_integrity":"sha512-Vo4s+OuMK8ILktxI0n0m2SZBr+mI+3FaDzrB+4tbkl/JVHGUHCjODqfter2vez7/I8yUhfDIImUNG5YrS5G1Sw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.2.0.205722","@fluidframework/telemetry-utils":"2.0.0-dev.7.2.0.205722","@fluidframework/container-loader":"2.0.0-dev.7.2.0.205722","@fluidframework/driver-definitions":"2.0.0-dev.7.2.0.205722"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.2.0.205722","@fluidframework/test-runtime-utils":"2.0.0-dev.7.2.0.205722","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.2.0.205722_1698362168695_0.15773061901914454","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.2.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.2.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"e9284d7988fc5c37431ee18231089eb4e2d06c4a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.2.0.tgz","fileCount":21,"integrity":"sha512-dL2/nuBNzh/RfcwQ/dgUYlFnK5r5okLw/mAl0UBFI0kwbcBU3Wv7W2QYrx1YsrlRLsOzyZlSW4BgFCzEgYU0AQ==","signatures":[{"sig":"MEYCIQC6FYqXUTUQZ3wOJ0WP7X5VP3c/ZJ+zkc2z9xzz8LiwrgIhAMl9yKswOAWbuOAlTU1Jd65tcGReulyomvgqrbOsxFIW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19267},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.2.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.2.0.tgz","_integrity":"sha512-dL2/nuBNzh/RfcwQ/dgUYlFnK5r5okLw/mAl0UBFI0kwbcBU3Wv7W2QYrx1YsrlRLsOzyZlSW4BgFCzEgYU0AQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0","@fluidframework/container-loader":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.2.0 <2.0.0-internal.7.3.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.2.0_1698369625969_0.5600500946136335","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.2.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.2.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.2.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"14cb652fca04485d999d89dd1105299bfa126a42","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.2.1.tgz","fileCount":21,"integrity":"sha512-+gR8jbfGHcoollDsI4CXPfiC7JaHu9I/45kr1Hxlsk8dkTViqMjFRH8v+hdQsQwk9JtentnpWsEPZa1cFUMB2A==","signatures":[{"sig":"MEUCIQCQUHrb8usALowumc4JYxY9IqORIZIBlGqQ69C35jO5DgIgX+I17fQl92gawERYlBkv0kLPkdifyu3TKzzz8dILX/M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19267},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.2.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.2.1.tgz","_integrity":"sha512-+gR8jbfGHcoollDsI4CXPfiC7JaHu9I/45kr1Hxlsk8dkTViqMjFRH8v+hdQsQwk9JtentnpWsEPZa1cFUMB2A==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0","@fluidframework/container-loader":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.2.1 <2.0.0-internal.7.3.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.2.1_1698452922392_0.9294077772998899","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.0.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.0.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.0.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"651ea920713f7073b937ef45d292451f23942ca5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.0.1.tgz","fileCount":29,"integrity":"sha512-b1IrFOpDWipnoi1rYXK+GPnIp47TVtYvhSvP5CNg7E5Puz/BoPZOeLnIAjB8xmFjGW2F6Aj0zsQNp9oPDXrk7Q==","signatures":[{"sig":"MEUCIQC57rTIKcSnovyXRp8l5zB/3zdgrjUXOVoV9qj2P23+kQIgSJalfhevmFtSnT13LNCKTTXc6wvbi5kV0/V6y0crYvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.0.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.0.1.tgz","_integrity":"sha512-b1IrFOpDWipnoi1rYXK+GPnIp47TVtYvhSvP5CNg7E5Puz/BoPZOeLnIAjB8xmFjGW2F6Aj0zsQNp9oPDXrk7Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.0.1 <2.0.0-internal.7.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.0.1 <2.0.0-internal.7.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.0.1 <2.0.0-internal.7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.24.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.24.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.0.1 <2.0.0-internal.7.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.0.1 <2.0.0-internal.7.1.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.0.1_1698453217461_0.6235677772616068","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.1.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.1.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.1.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"44e397485984236e7a9179b1c0596caba689c72a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.1.1.tgz","fileCount":25,"integrity":"sha512-EWNd1QF3dVMCHSGs8AZqBrZii5EtsB3jgCunrVxyk+MRoxjKEnvSdl4Kw+CnTtTLIFEjXoyzDukztN+zr+6eBw==","signatures":[{"sig":"MEQCIESu11bUMpqbnAx02eqFpa52AgwkGIDbaveRz1BC4e53AiApWeSuZqKS3o01e4n0b+KzLkh+kvgzhy+IGL4TO9a5vA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.1.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.1.1.tgz","_integrity":"sha512-EWNd1QF3dVMCHSGs8AZqBrZii5EtsB3jgCunrVxyk+MRoxjKEnvSdl4Kw+CnTtTLIFEjXoyzDukztN+zr+6eBw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0","@fluidframework/container-loader":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.25.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.25.0","@fluidframework/build-common":"^2.0.1","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.1.1 <2.0.0-internal.7.2.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.1.1_1698453239017_0.734161477595833","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.206769":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.206769","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.206769","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ef64b9e749aa45b691646709bc49eb854ba2a14a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.206769.tgz","fileCount":21,"integrity":"sha512-fb+Ld2/RsI0zc2AxyVye7tz3lmwvIeIsKMrMmtz9/JLuv/NObXiQDS/e1RTajzo5tUiLP9vPMnJE4A3/U13EyA==","signatures":[{"sig":"MEUCIQDZLE8u0HI94uZJ9FBd8XX1PQZfC/uFD71Kt85Zd2FAeQIgCECoro5AycpLvFN1wTMJvw5Y1mnT3pwXgdtsx84efyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.206769.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.206769.tgz","_integrity":"sha512-fb+Ld2/RsI0zc2AxyVye7tz3lmwvIeIsKMrMmtz9/JLuv/NObXiQDS/e1RTajzo5tUiLP9vPMnJE4A3/U13EyA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.206769","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.206769","@fluidframework/container-loader":"2.0.0-dev.7.3.0.206769","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.206769"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.206769","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.206769","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.206769_1698714158374_0.823982769049745","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.207781":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.207781","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.207781","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"5b803b6a3c3e42261258a41594b89c2f19a74d26","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.207781.tgz","fileCount":21,"integrity":"sha512-67UH9ohKyNy0UcwK6H8WaKQXkgP9IrdB/Xdyk2XMeUeV0QBDYnN2EklvLZrlg8FSBzMbQomjpkQzGgqzk8EFOw==","signatures":[{"sig":"MEUCIAqv1J85vkxUf7S/Nkv3SPDUtFVMSyVyqexsdZvgs2QfAiEAmxJ+NlFkMicBR/v9MNw+ZedmLg/5v/4MIKew2EtruSw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.207781.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.207781.tgz","_integrity":"sha512-67UH9ohKyNy0UcwK6H8WaKQXkgP9IrdB/Xdyk2XMeUeV0QBDYnN2EklvLZrlg8FSBzMbQomjpkQzGgqzk8EFOw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.207781","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.207781","@fluidframework/container-loader":"2.0.0-dev.7.3.0.207781","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.207781"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.207781","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.207781","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.207781_1698884085359_0.15700740011176206","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.207992":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.207992","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.207992","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"289c89d1c143cba1165a90e6e9eec232dc2d6d8f","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.207992.tgz","fileCount":21,"integrity":"sha512-s6B61sB28DKMQmV+Gdf+1hhlRVQ97tjeC9aOHyBUkjrjZNi+HMAkckpPIdUic/0RoPzueuWTRg9rXTIjnWhFfg==","signatures":[{"sig":"MEYCIQDKdptMKvJPTGzdWoh6iKEDHxi80zBn5UhDMMDGHEEFeAIhAOoTUb9pZmEXBvVy5ZKEguEskvsYKVX855jBEiEjcBnr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.207992.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.207992.tgz","_integrity":"sha512-s6B61sB28DKMQmV+Gdf+1hhlRVQ97tjeC9aOHyBUkjrjZNi+HMAkckpPIdUic/0RoPzueuWTRg9rXTIjnWhFfg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.207992","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.207992","@fluidframework/container-loader":"2.0.0-dev.7.3.0.207992","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.207992"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.207992","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.207992","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.207992_1698953974754_0.19767693006085874","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.209023":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.209023","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.209023","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"43626655ff433409e1ca0c07cd5b09c0b11b5c12","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.209023.tgz","fileCount":21,"integrity":"sha512-cmmhDzeNDkm8MqqjAQfzkJ4WIuYCVkvBFxCa6p8YOIGtqOcE/Qox4C3Rs47Qw5lHEF2haF3uE6l9Muoj28hbug==","signatures":[{"sig":"MEUCIQCyFSkSfGV81OFFByDnS88odz0u4mvX7l/4tBCo8/bDpwIgGFXe5T8LmlxaR/sjlTrFUGOn3TPm4VOc7nAf174Huxc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209023.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209023.tgz","_integrity":"sha512-cmmhDzeNDkm8MqqjAQfzkJ4WIuYCVkvBFxCa6p8YOIGtqOcE/Qox4C3Rs47Qw5lHEF2haF3uE6l9Muoj28hbug==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.209023","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.209023","@fluidframework/container-loader":"2.0.0-dev.7.3.0.209023","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.209023"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.209023","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.209023","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.209023_1699394235928_0.5381748548803413","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.2.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.2.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.2.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"085dfc1fbaccbd9907db73c0615f86ef755ffa4d","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.2.2.tgz","fileCount":21,"integrity":"sha512-CWDxSrfLNYrblXGtFEZFAZRFtyzMIWQQncTcq1cKZQp7VXVAaSQ1W8rWiYiizLanzY6zBtobQmPHPBlGM2+I5w==","signatures":[{"sig":"MEYCIQCQs8Q3E5QQNCQ39o5khG+6Wgu3Ta4DXkYhALw88Q/KPgIhAJAH3gSqBtJYfPj+wsk6OKtDB5mcpeeniYX5HKDjTFS9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19267},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.2.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.2.2.tgz","_integrity":"sha512-CWDxSrfLNYrblXGtFEZFAZRFtyzMIWQQncTcq1cKZQp7VXVAaSQ1W8rWiYiizLanzY6zBtobQmPHPBlGM2+I5w==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0","@fluidframework/container-loader":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.2.2 <2.0.0-internal.7.3.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.1"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.2.2_1699394830994_0.9883545137414571","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.1.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.1.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.1.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1f03d21ecb54dcdd8bb27f962c30620718f49102","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.1.2.tgz","fileCount":25,"integrity":"sha512-SQms9mPUXfq1QGpZFFIBssn+Bjh/X5Z4NodyDehXlYmpYIq6YDtduJI2TbD8XndKb847iaIQcUxs/h1pn1D4Tg==","signatures":[{"sig":"MEUCIEks9MfINI6ERNOoATaMisvl4GwQ/DEOhhzHIF4lW0fiAiEA7BhPoRNvsMRE3vpoo/asUCWwNmbQTx1oUjrmvEftvAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.1.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.1.2.tgz","_integrity":"sha512-SQms9mPUXfq1QGpZFFIBssn+Bjh/X5Z4NodyDehXlYmpYIq6YDtduJI2TbD8XndKb847iaIQcUxs/h1pn1D4Tg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0","@fluidframework/container-loader":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.25.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.25.0","@fluidframework/build-common":"^2.0.1","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.1.2 <2.0.0-internal.7.2.0","@fluidframework/eslint-config-fluid":"^3.0.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.1.2_1699395117285_0.46629065233554745","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.0.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.0.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.0.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"ccf9262bb63c57012b37ba89323a3e2b9bf0d3f3","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.0.2.tgz","fileCount":29,"integrity":"sha512-m8t5GaUCJfYIYBWlpyQBK6scC2uKc7F6vcENq2zpn+sd42miGwbuDaYI1HQHQgOJl5ZYwQqajoCKByPVV19Seg==","signatures":[{"sig":"MEYCIQCyMB4Zc97vW32ESI6Dt+ciwn6X5i6uQeMOLFPwgkkrnQIhAPr6X+YXxaYKFTJf2cJDAsxTwyS9lCwt/TidOHvIq+WY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.0.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.0.2.tgz","_integrity":"sha512-m8t5GaUCJfYIYBWlpyQBK6scC2uKc7F6vcENq2zpn+sd42miGwbuDaYI1HQHQgOJl5ZYwQqajoCKByPVV19Seg==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.0.2 <2.0.0-internal.7.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.0.2 <2.0.0-internal.7.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.0.2 <2.0.0-internal.7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.24.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.24.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.0.2 <2.0.0-internal.7.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.0.2 <2.0.0-internal.7.1.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.0.2_1699395167893_0.07076503533932366","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.209174":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.209174","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.209174","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9776d2e5acb4272bacbafc145d552d37c45024b7","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.209174.tgz","fileCount":21,"integrity":"sha512-Mz6Y8+GoIjFHsKsP6IY4XXKS9Ic0uOG9nFoSf0g6CMTBgHIBfYIHYQvUCBe6sVGudafW2x5omXFCOSQp1TDsQA==","signatures":[{"sig":"MEQCIF8iC6Nz3qAJikpeYgqrwP2BvVEuCw3Cs7wTDVLtfmBAAiA5Eav31b/RhI2V1nbBr8nexQTTpxhmuyiS3N4m1LssVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209174.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209174.tgz","_integrity":"sha512-Mz6Y8+GoIjFHsKsP6IY4XXKS9Ic0uOG9nFoSf0g6CMTBgHIBfYIHYQvUCBe6sVGudafW2x5omXFCOSQp1TDsQA==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.209174","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.209174","@fluidframework/container-loader":"2.0.0-dev.7.3.0.209174","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.209174"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.209174","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.209174","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.209174_1699401608838_0.16123235907614086","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.209831":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.209831","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.209831","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b8be87fde39b6178a789f00278cea59cfc9a65f5","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.209831.tgz","fileCount":21,"integrity":"sha512-o31D874c9f1CFb8ozFbK3SGQ4nJe3fm6mt7XhHCSiyFUj58/rxWXEoHAV9J3xptAKbqqOOuSg6HK2YSaIl5TIw==","signatures":[{"sig":"MEQCIFA02odb2rioOwc5604rDl9zWxMf/g823hbHLibSODJeAiBMd5T1ssFTBJ/0UXLgT9N1V/Ipov4wQqd1lXA0dS/l6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209831.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.209831.tgz","_integrity":"sha512-o31D874c9f1CFb8ozFbK3SGQ4nJe3fm6mt7XhHCSiyFUj58/rxWXEoHAV9J3xptAKbqqOOuSg6HK2YSaIl5TIw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.209831","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.209831","@fluidframework/container-loader":"2.0.0-dev.7.3.0.209831","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.209831"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.26.1","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.26.1","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.209831","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.209831","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.209831_1699580517611_0.8682793286593229","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.210328":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.210328","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.210328","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"013e37ae39a5be67d99da8b2255235f71f65dd7a","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.210328.tgz","fileCount":21,"integrity":"sha512-4TdZl3IUPEcCHn+9QUjIXJpSxKqac8Am/6jx1pTa9qXXA0k/4bEh6FechrccYeZ6EAvZZjqF58rp5OehQV85hQ==","signatures":[{"sig":"MEYCIQCxw0G8ldTYRCfiMcXZbgKzC2MhPSfsy8x1N0mLw4l2zQIhAO4G25xxDFQrUvkVUAiZKgf5Oz9YTYVu5X6YWvmGMzpy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19137},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.210328.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"*.tsbuildinfo\" \"*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.210328.tgz","_integrity":"sha512-4TdZl3IUPEcCHn+9QUjIXJpSxKqac8Am/6jx1pTa9qXXA0k/4bEh6FechrccYeZ6EAvZZjqF58rp5OehQV85hQ==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.210328","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.210328","@fluidframework/container-loader":"2.0.0-dev.7.3.0.210328","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.210328"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.27.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.27.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.210328","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.210328","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.210328_1699669616653_0.6978225738976145","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.0.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.0.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.0.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"9ef3d9ad894dd3adf20ae37688e8c37b007eee64","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.0.3.tgz","fileCount":29,"integrity":"sha512-7UcHLiiISTkQVi1I8IIltcwey4kFIbjU/OtqgG7HbgIPplpzVvLiLwRV7AeitdKVpT8YkgMDm+PnJQ4/CBAI+Q==","signatures":[{"sig":"MEQCIEImZXjkZBjb7p7OFMwVe6VDAc4BzORcup7bihqoC740AiARFscBAeLulvNmJlnApRAnWs7vYIVrtQqOVJcbkQhAQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32279},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.0.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand\nGuidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"npm run test:mocha","build":"fluid-build . --task build","clean":"rimraf --glob 'dist' 'lib' '*.tsbuildinfo' '*.build.log' '_api-extractor-temp' 'nyc'","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","test:mocha":"mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","test:coverage":"c8 npm test","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","test:mocha:verbose":"cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.0.3.tgz","_integrity":"sha512-7UcHLiiISTkQVi1I8IIltcwey4kFIbjU/OtqgG7HbgIPplpzVvLiLwRV7AeitdKVpT8YkgMDm+PnJQ4/CBAI+Q==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.0.3 <2.0.0-internal.7.1.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.0.3 <2.0.0-internal.7.1.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.0.3 <2.0.0-internal.7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.6.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~2.6.2","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.24.0","@microsoft/api-extractor":"^7.37.0","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.24.0","@fluidframework/build-common":"^2.0.0","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.0.3 <2.0.0-internal.7.1.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.0.3 <2.0.0-internal.7.1.0","@fluidframework/eslint-config-fluid":"^2.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.0.3_1700084519188_0.20636217877162166","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.211848":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.211848","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.211848","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"51b680ea0ccb4e6e0c8be6eef90f31c1b6a16eee","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.211848.tgz","fileCount":21,"integrity":"sha512-XE+uSaVQ7WxVXEAi192jw+O4mLKcKeaa8lwEC9QCKsWTK6UZuM7WzPobhv2ph19DQ4siAeNgNyeb23KtvOrq8A==","signatures":[{"sig":"MEQCIF6VOcK+x6Ay9N1mVAdnfpc83FsqsfIlcH9bYGRElwwtAiAR8voTQf7PB/C/yx0nhfkCiJ7fuIRsxidtNT3+BEtsDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19155},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.211848.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.211848.tgz","_integrity":"sha512-XE+uSaVQ7WxVXEAi192jw+O4mLKcKeaa8lwEC9QCKsWTK6UZuM7WzPobhv2ph19DQ4siAeNgNyeb23KtvOrq8A==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.211848","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.211848","@fluidframework/container-loader":"2.0.0-dev.7.3.0.211848","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.211848"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"0.28.0-210888","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"0.28.0-210888","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.211848","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.211848","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.211848_1700173650932_0.13868602929074392","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.3.0.212138":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.3.0.212138","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.3.0.212138","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"73f21b7ca12113bdbf22174ddc13502eb9448c57","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.3.0.212138.tgz","fileCount":21,"integrity":"sha512-ko9zySceEOdQ4tv0GRVppXEltpmTfgGiykbjMR4VZAc6WKP711515F6E/jNk7iFH+PfG1BSp1cg2Uu5r6SAbRw==","signatures":[{"sig":"MEUCIGhptWguJTZbr52yCeb/exQGnN8P0NwhmUtMaIi2XN/rAiEAxoa4P/GGnb533AWsjorkoV7XYX/g5cvVEwESd3nH71E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19194},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.212138.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.3.0.212138.tgz","_integrity":"sha512-ko9zySceEOdQ4tv0GRVppXEltpmTfgGiykbjMR4VZAc6WKP711515F6E/jNk7iFH+PfG1BSp1cg2Uu5r6SAbRw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.3.0.212138","@fluidframework/telemetry-utils":"2.0.0-dev.7.3.0.212138","@fluidframework/container-loader":"2.0.0-dev.7.3.0.212138","@fluidframework/driver-definitions":"2.0.0-dev.7.3.0.212138"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.3.0.212138","@fluidframework/test-runtime-utils":"2.0.0-dev.7.3.0.212138","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.3.0.212138_1700253640059_0.4253416419598224","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.3.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.3.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.3.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"416a644e205e3d7b4f86223d87daeb38d94264fd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.3.0.tgz","fileCount":21,"integrity":"sha512-8yX+gaISaEyr4Gz2FeUU45B8ypUNZDo2Eu3gl2KtSFl9nubMipcDKuj6gdfMoJmD/wf1KA6/8DqZL0YAgwPqQw==","signatures":[{"sig":"MEYCIQC1RpCAcoeXa2jbA0y+kBNFwO9HDV4hx1R4nqom+yYuAAIhALAHFzvvOxn9bZrfAUQUcYz4qA4qRxegwzemtmWLCjMc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19324},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.3.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --ignore-path ../../../.prettierignore","build:docs":"api-extractor run --local","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.3.0.tgz","_integrity":"sha512-8yX+gaISaEyr4Gz2FeUU45B8ypUNZDo2Eu3gl2KtSFl9nubMipcDKuj6gdfMoJmD/wf1KA6/8DqZL0YAgwPqQw==","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0","@fluidframework/container-loader":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.3.0 <2.0.0-internal.7.4.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.3.0_1700256109490_0.646694109286633","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.214930":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.214930","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.214930","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"79e5d7c0858e496842c36450c413c1b981e55d19","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.214930.tgz","fileCount":29,"integrity":"sha512-yJPpzkwjip/nZY0HN6MXKny6sjNPyseL3PXnKCM2zZ0lLCcw9b0wjVS6q0Qsl3RUkFANqxBdmTCjX12rIeT+Xg==","signatures":[{"sig":"MEYCIQCT0Z3y86qnFlYZR6knw2lKp/jwRS2NjSHh+0uzYCy90gIhAIqfGVrwwh2CdqQV+6kZLnMudqearz2Ob9aA+J6353jE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23760},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.214930.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.214930.tgz","_integrity":"sha512-yJPpzkwjip/nZY0HN6MXKny6sjNPyseL3PXnKCM2zZ0lLCcw9b0wjVS6q0Qsl3RUkFANqxBdmTCjX12rIeT+Xg==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.214930","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.214930","@fluidframework/container-loader":"2.0.0-dev.7.4.0.214930","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.214930"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.214930","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.214930","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.214930_1701214847358_0.9411418849609654","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.215366":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.215366","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.215366","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"18560d939b137c5ca3778bbde213c508d03a68b7","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.215366.tgz","fileCount":29,"integrity":"sha512-FztEvrgNms4VKCG+qlYDLp5/0CEjM32JoWsx+Wrgo1C/zzZlBFPcGMajoBvRTamMsQo4nrCq8AN37/OW6Z7GMQ==","signatures":[{"sig":"MEQCIHdZGCQ3dAaHuZ1EKTox57ZX29h0cOoMw/xWFBmIr/bZAiAcJfuADyJUDr66ZiBA/WZ6+CUVIfZuaX0skAInLRn9QA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23760},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215366.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215366.tgz","_integrity":"sha512-FztEvrgNms4VKCG+qlYDLp5/0CEjM32JoWsx+Wrgo1C/zzZlBFPcGMajoBvRTamMsQo4nrCq8AN37/OW6Z7GMQ==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.215366","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.215366","@fluidframework/container-loader":"2.0.0-dev.7.4.0.215366","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.215366"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.215366","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.215366","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.215366_1701299281757_0.01690633544925846","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.215747":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.215747","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.215747","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"77686921b8f4b09914fde518c65a54a5e0ff49e0","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.215747.tgz","fileCount":29,"integrity":"sha512-VLA7MfL2pG4xAIi1H37lqZ/uO1/Rhw08jCu0fQ+tmEDurIgeK982aM7XdcqAPWv7Q3unq/U62Qq0HVThtPSD1Q==","signatures":[{"sig":"MEQCIGIl/kvgrgcb+twKDVoP6CRLvAy79U4DykljP7yeX7vCAiBIhbN3KXw+eucD5eqNUG62qoISpzEGRptbeLx2f7pB3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23760},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215747.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215747.tgz","_integrity":"sha512-VLA7MfL2pG4xAIi1H37lqZ/uO1/Rhw08jCu0fQ+tmEDurIgeK982aM7XdcqAPWv7Q3unq/U62Qq0HVThtPSD1Q==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.215747","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.215747","@fluidframework/container-loader":"2.0.0-dev.7.4.0.215747","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.215747"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.215747","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.215747","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.215747_1701365577265_0.9785374688982673","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.215930":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.215930","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.215930","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"0a85048f1c77a72ca62577416ab25dee79310fd8","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.215930.tgz","fileCount":29,"integrity":"sha512-b+ePmz180tUy1TYLdiP0dWyvDYDiWUPThbeCUOT0UfO86vCNnnaZYdkO6Y2eFqWdJw+8t7tL1MccqYfjv7TNZQ==","signatures":[{"sig":"MEUCIGl2aeaya+fnwH/QUExE2fkfsLipvGLz9Ta6OylCVHyTAiEAuzpHuUVc+3sWi/9k+Ggbq8obSDpLPUTPCi5f6xcTVys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23760},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215930.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.215930.tgz","_integrity":"sha512-b+ePmz180tUy1TYLdiP0dWyvDYDiWUPThbeCUOT0UfO86vCNnnaZYdkO6Y2eFqWdJw+8t7tL1MccqYfjv7TNZQ==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.215930","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.215930","@fluidframework/container-loader":"2.0.0-dev.7.4.0.215930","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.215930"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.215930","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.215930","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.215930_1701377004331_0.34571891178832814","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.216897":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.216897","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.216897","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"b0236be266f720be11efddeb6116f717a92e2ecd","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.216897.tgz","fileCount":30,"integrity":"sha512-xiKBjJ5TCNo2sVc89Mv16tRlSqW6Fc0+Tj+U8bCsrqmgOaK5/FYUU4WXZpudWBpRtYZqan9/psIE0UJDuKgL5g==","signatures":[{"sig":"MEYCIQCDal2zcL194sUaSkIDTVyUje/ZprF46/HwMUNhPlGWbwIhAPxSojmXqr9Bwq1k6mj3d6ZtLHKoUYPV6hmnVwKpXHFc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23381},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.216897.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.216897.tgz","_integrity":"sha512-xiKBjJ5TCNo2sVc89Mv16tRlSqW6Fc0+Tj+U8bCsrqmgOaK5/FYUU4WXZpudWBpRtYZqan9/psIE0UJDuKgL5g==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.216897","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.216897","@fluidframework/container-loader":"2.0.0-dev.7.4.0.216897","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.216897"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.216897","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.216897","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.216897_1701467187455_0.4503708782547877","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.217212":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.217212","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.217212","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"d5c3fe02b8d6dde427d22f13d91f60cfe6f6bced","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.217212.tgz","fileCount":30,"integrity":"sha512-XK1UPA8s8qf+uSapXT0RhBHUSprqJHjyJgfan4VEb1VRXHmVkRv9MjLCkQ+b5z9Yo0Lt3si4BnkdRP+eJbfzGw==","signatures":[{"sig":"MEUCIDz1OxlvWBz10k69tKIC8+0Mn6TcM96ZxeyYDcfumRuiAiEA8A6+tWUVx5AMYhkAoGFwAfQtB5p73czAl2waOqc6ir0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23381},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.217212.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.217212.tgz","_integrity":"sha512-XK1UPA8s8qf+uSapXT0RhBHUSprqJHjyJgfan4VEb1VRXHmVkRv9MjLCkQ+b5z9Yo0Lt3si4BnkdRP+eJbfzGw==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.217212","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.217212","@fluidframework/container-loader":"2.0.0-dev.7.4.0.217212","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.217212"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^16.18.38","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.217212","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.217212","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.217212_1701540672165_0.7546254553548581","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.217884":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.217884","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.217884","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"882b1c781fda1e78c6763925833833efcfc548ad","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.217884.tgz","fileCount":30,"integrity":"sha512-YyI6+4hrhTopp5VmgsWvC2uKE+yRZKrVJgfSS+X97vujpOzPtpWoP5HYGy842wBxMleCiEu0PU0BmB76iWnmEw==","signatures":[{"sig":"MEUCIBIDSr3DBByeNGasxQCu5MyBVTWsQZOlJPublS/pHaYDAiEA+Npi9Mjgwf4TzJXTwpb94OZNEhcsDFXZZBOkVL5HDt0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23380},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.217884.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.217884.tgz","_integrity":"sha512-YyI6+4hrhTopp5VmgsWvC2uKE+yRZKrVJgfSS+X97vujpOzPtpWoP5HYGy842wBxMleCiEu0PU0BmB76iWnmEw==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.217884","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.217884","@fluidframework/container-loader":"2.0.0-dev.7.4.0.217884","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.217884"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.217884","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.217884","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.217884_1701806152120_0.5205958403821702","host":"s3://npm-registry-packages"}},"2.0.0-dev.7.4.0.221926":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-dev.7.4.0.221926","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-dev.7.4.0.221926","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"025dcf9f6fb69452aac86078695654573e185a17","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-dev.7.4.0.221926.tgz","fileCount":30,"integrity":"sha512-d33nI1t/PiBICbYkq46ykn4BsjLNdAS2K301Vk1zprn8+jqRWLtrulCUs3jnxwEyBeV33RKqWc+1UNxVevS5Mg==","signatures":[{"sig":"MEQCIHuw9QjthgrAz3JEukxqMFKd0dykcyhr2cQ5d8FUvAuHAiAeKzyoTkWp4Tx9TyO03SoGOP59ysnn53rMMcJJGO0mOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24525},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.221926.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-dev.7.4.0.221926.tgz","_integrity":"sha512-d33nI1t/PiBICbYkq46ykn4BsjLNdAS2K301Vk1zprn8+jqRWLtrulCUs3jnxwEyBeV33RKqWc+1UNxVevS5Mg==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":"2.0.0-dev.7.4.0.221926","@fluidframework/telemetry-utils":"2.0.0-dev.7.4.0.221926","@fluidframework/container-loader":"2.0.0-dev.7.4.0.221926","@fluidframework/driver-definitions":"2.0.0-dev.7.4.0.221926"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":"2.0.0-dev.7.4.0.221926","@fluidframework/test-runtime-utils":"2.0.0-dev.7.4.0.221926","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-dev.7.4.0.221926_1702428526571_0.1992579477553551","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.0":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.0","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1d2288de241d304440476171244042454154a892","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.0.tgz","fileCount":30,"integrity":"sha512-thqe5AhA9nqUhCcH1he5LRcfrjiQbq1mC/mu73ym/BGGaLMjvggGEOUMllIT8DdWNz6s75/nHz0QiVu506i1TQ==","signatures":[{"sig":"MEQCIBI3JVFQwlqM6XKqmVdZM4ulWJCFL/VXKpJRBJeFJ8+WAiB44RJRuYt2kZjx2jbApdkLXWEAJBGebv18L1XjL81ThQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.0.tgz","_integrity":"sha512-thqe5AhA9nqUhCcH1he5LRcfrjiQbq1mC/mu73ym/BGGaLMjvggGEOUMllIT8DdWNz6s75/nHz0QiVu506i1TQ==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.0 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.0_1702490607382_0.19615203670793724","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.1":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.1","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"f5c9358fd340a062328fdadf8df0843bb1cb1219","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.1.tgz","fileCount":30,"integrity":"sha512-T4HyKYDXjxJyyy5XX4ivUSx1bT11VM0Fp6+5ThJL1TIa9QJEdidWzLp2B38ou8SOILZjgseS/dNft9QgXCUT2w==","signatures":[{"sig":"MEUCIH4AQigOJhVCXl0idOVCe0t6N0g7RkGqjreoGh4o7JlRAiEAyClKS7TiILiuYUjXr9syKb+1KAMqYpyXNfzKZApaLfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.1.tgz","_integrity":"sha512-T4HyKYDXjxJyyy5XX4ivUSx1bT11VM0Fp6+5ThJL1TIa9QJEdidWzLp2B38ou8SOILZjgseS/dNft9QgXCUT2w==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.1_1704930647591_0.8450211961852085","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.2":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.2","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"49c9a3afab89658d827aeb58b0837d9674cb5a23","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.2.tgz","fileCount":30,"integrity":"sha512-c1sYv0fZzKZ9rQUXN6XcikuuasfnN/bMhOt2O3ql0hjTBNIe0PWoiu8Z6HdPb7XFHvXyiAa96lVPxw9vsn5Mug==","signatures":[{"sig":"MEUCIEmGCO5dqO0TM6n80U5yotEM15/9XnYO5v27Ml4x8ZPFAiEA383l71j6RIYUV3SRrO/+KHkJYMQji7y7FuD+PdTMVBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.2.tgz","_integrity":"sha512-c1sYv0fZzKZ9rQUXN6XcikuuasfnN/bMhOt2O3ql0hjTBNIe0PWoiu8Z6HdPb7XFHvXyiAa96lVPxw9vsn5Mug==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.2 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.2_1705435204024_0.8060049013941701","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.3":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.3","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"5b788856c39b2076794d3564ba5651cb4a596994","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.3.tgz","fileCount":30,"integrity":"sha512-YH6JjyKi9YTyqVs1vYpcASw9vYsDfJldbDWTYoyKpMqdv3vNV1OTuKCYhRN4xIdBJTAyO2DCFcRpn3bAxteaYw==","signatures":[{"sig":"MEUCIAhXdECCEBclpm0IwH9/aoxI8BxS33YDBE6ZjlGh0NNnAiEAxUH0MPsz8Y0VlMR2+5h4uzKTJep68tPwApZFm4nH57M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.3.tgz","_integrity":"sha512-YH6JjyKi9YTyqVs1vYpcASw9vYsDfJldbDWTYoyKpMqdv3vNV1OTuKCYhRN4xIdBJTAyO2DCFcRpn3bAxteaYw==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.3 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.3_1705619106860_0.7476601155553422","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.4":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.4","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"8508c2addc0fc1f5a7e9111faa3575f1b9e30ce9","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.4.tgz","fileCount":30,"integrity":"sha512-izfq7KS5HwS7+SXH5nRQxuQXjUypwYVxbzwQlw66m4+nJO0gEYH7hDum4E5EVZpeJD1LC7UICW2ZubajQYaOGw==","signatures":[{"sig":"MEYCIQCh7yZpW9lg13Ei82kiuMnQXQXPQ1OxKiRRirNt7mQyhwIhAPvBq7RRioEzSnUOTgzi6bXnBDtBT1ldEExjRtdcwylf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.4.tgz","_integrity":"sha512-izfq7KS5HwS7+SXH5nRQxuQXjUypwYVxbzwQlw66m4+nJO0gEYH7hDum4E5EVZpeJD1LC7UICW2ZubajQYaOGw==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.4 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.4_1707246182863_0.07098360825190131","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.5":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.5","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"40d326293230ed4d6da85b77ee166fdf25b63e7e","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.5.tgz","fileCount":30,"integrity":"sha512-shi3lD5mL5dnbgTKc4aQkNJWlHA80F01GuIAIW4GLnx9X4znnLkqD+8Q38s1t38LGuXsSvBlRoN3aqx/UUNkAQ==","signatures":[{"sig":"MEUCIQDy/sk91YGKWAJUagZ34MrgBl9xV+WSc7poeDajw6FRJQIgBpFbxOEY5wqId20p6QZu0ejjygA6rv/l/kAkBZFuuJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.5.tgz","_integrity":"sha512-shi3lD5mL5dnbgTKc4aQkNJWlHA80F01GuIAIW4GLnx9X4znnLkqD+8Q38s1t38LGuXsSvBlRoN3aqx/UUNkAQ==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.5 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.5_1707343951425_0.1676644310150357","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.6":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.6","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.6","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"1364d4d41ad22f61accc53f526b9f9debb3894a6","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.6.tgz","fileCount":30,"integrity":"sha512-NFeGYROgbpdBn5kz6mCSotNAnXZBGaTVXmBIwV0jddDyWwhFOY0Nb5Mci3JE1gFO7YzLa3mmWhtc+HbNxdXTDg==","signatures":[{"sig":"MEQCIHBs+PHMQPPEGKAuPXLBjGcG9YniKM0Rt8G/2CtI0PDOAiA0MEUy4Jg5Toaexa2u1MEVJNFlc8DDabOKhoN7z2pwig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.6.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.6.tgz","_integrity":"sha512-NFeGYROgbpdBn5kz6mCSotNAnXZBGaTVXmBIwV0jddDyWwhFOY0Nb5Mci3JE1gFO7YzLa3mmWhtc+HbNxdXTDg==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.6 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.6_1707353887628_0.8587536744559783","host":"s3://npm-registry-packages"}},"2.0.0-internal.7.4.7":{"name":"@fluidframework/location-redirection-utils","version":"2.0.0-internal.7.4.7","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluidframework/location-redirection-utils@2.0.0-internal.7.4.7","maintainers":[{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"c8":{"all":true,"exclude":["src/test/**/*.ts","dist/test/**/*.js"],"include":["src/**/*.ts","dist/**/*.js"],"reporter":["cobertura","html","text"],"cache-dir":"nyc/.cache","report-dir":"nyc/report","temp-directory":"nyc/.nyc_output","exclude-after-remap":false},"dist":{"shasum":"726183b86b3b9ef99ba7bf134595f4e861489952","tarball":"https://registry.npmjs.org/@fluidframework/location-redirection-utils/-/location-redirection-utils-2.0.0-internal.7.4.7.tgz","fileCount":30,"integrity":"sha512-iUHQ5WqQhUI1aQ2nV6ke/EOBBiboHL9LzpterA1+sam3uOaMtYngM+9MZM6dlqeYiq4DpGV8JDOaQRyhjuImmw==","signatures":[{"sig":"MEQCIB1gBO4wLPK/fC7mNzAO9JoyiPZQtzr1Y4X6+KGoGPMWAiAcwSvXsmh/WCz7k6+t7s4gTjlUmtOg03BLFXeWsBqDIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24655},"main":"dist/index.js","_from":"file:fluidframework-location-redirection-utils-2.0.0-internal.7.4.7.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluidframework/location-redirection-utils\n\n**NOTE: THIS PACKAGE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE.**\n**ALL EXPORTS HAVE BEEN MARKED AS DEPRECATED, AND HAVE BEEN MOVED TO THE `@fluidframework/container-loader` PACKAGE.**\n**PLEASE MIGRATE ANY IMPORTS FROM THIS PACKAGE AS NEEDED.**\n**THIS PACKAGE WILL RECEIVE NO FURTHER SUPPORT.**\n\nShared utilities for handling location change of container on server.\n\n<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Using Fluid Framework libraries\n\nWhen taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.\nWhile Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,\nlibrary consumers should always prefer `^`.\n\nNote that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,\nyou must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).\nStandard `^` and `~` ranges will not work as expected.\nSee the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)\npackage for more information including tools to convert between version schemes.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Explanation of the scenario:\n\nThis talks about loading of a container by handling location change of container in the storage. For example, today\nthe site domain can change for a particular container on server for spo. The host/app does not know about this change\nand they request the container using the old domain name and it will cause the container load request to fail.\n`resolveWithLocationRedirectionHandling` utility handles that scenario and use the new absolute url supplied by the\ndriver when driver sees that error, to make the request again and successfully load the container.\n\n## Usage\n\nThe host/apps needs to use this utility when they load the container. The below example tells how to use the utility.\nLets say host has the code to call Loader.resolve(IRequest) or Loader.request(IRequest, pendingLocalState) in their code, now they want to wrap that within this utility if they want to handle this case.\n\n```\nconst container = await resolveWithLocationRedirectionHandling<IContainer>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc. This\n        // req is the new request with which loader.resolve will be called.\n        loader.resolve(req),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n\nOR\n\nconst response = await resolveWithLocationRedirectionHandling<IResponse>(\n    async (req: IRequest) => {\n        // Any other code that you want to execute like extract something info the request/ logging etc\n        loader.request(req, pendingLocalState),\n    },\n    request, // original request to be resolved\n    urlResolver, // urlResolver, same as hosts passes to the loader\n    logger, // logger which will help with the telemetry\n);\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->\n\n<!-- prettier-ignore-start -->\n<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->\n\n## Trademark\n\nThis project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.\n\nUse of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\n\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\n\n<!-- prettier-ignore-end -->\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n","scripts":{"api":"fluid-build . --task api","tsc":"tsc","lint":"npm run prettier && npm run check:release-tags && npm run eslint","test":"echo \"Tests have been removed. This package is scheduled for deletion.\" && exit 1","build":"fluid-build . --task build","clean":"rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc","eslint":"eslint --format stylish src","format":"npm run prettier:fix","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"prettier --check . --cache --ignore-path ../../../.prettierignore","build:docs":"fluid-build . --task api","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix --fix-type problem,suggestion,layout","build:esnext":"tsc --project ./tsconfig.esnext.json","prettier:fix":"prettier --write . --cache --ignore-path ../../../.prettierignore","build:compile":"fluid-build . --task compile","ci:build:docs":"api-extractor run","typetests:gen":"fluid-type-test-generator","build:commonjs":"fluid-build . --task commonjs","typetests:prepare":"flub typetests --dir . --reset --previous --normalize","check:release-tags":"api-extractor run --local --config ./api-extractor-lint.json","api-extractor:esnext":"copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib","api-extractor:commonjs":"api-extractor run --local","check:are-the-types-wrong":"attw --pack"},"_npmUser":{"name":"ms-fluid-bot","email":"ffsa@microsoft.com"},"_resolved":"/mnt/vss/_work/1/pack/scoped/fluidframework-location-redirection-utils-2.0.0-internal.7.4.7.tgz","_integrity":"sha512-iUHQ5WqQhUI1aQ2nV6ke/EOBBiboHL9LzpterA1+sam3uOaMtYngM+9MZM6dlqeYiq4DpGV8JDOaQRyhjuImmw==","fluidBuild":{"tasks":{"build:docs":{"script":false,"dependsOn":["...","api-extractor:commonjs","api-extractor:esnext"]}}},"repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"_npmVersion":"9.6.7","description":"Location Redirection Handling Utilities","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"@fluidframework/core-interfaces":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0","@fluidframework/telemetry-utils":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0","@fluidframework/container-loader":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0","@fluidframework/driver-definitions":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","typeValidation":{"broken":{}},"devDependencies":{"c8":"^7.7.1","mocha":"^10.2.0","eslint":"~8.50.0","moment":"^2.21.0","rimraf":"^4.4.0","prettier":"~3.0.3","copyfiles":"^2.4.1","cross-env":"^7.0.3","typescript":"~5.1.6","@types/node":"^18.19.0","@types/mocha":"^9.1.1","@arethetypeswrong/cli":"^0.13.3","mocha-multi-reporters":"^1.5.1","@fluid-tools/build-cli":"^0.28.0","@microsoft/api-extractor":"^7.38.3","mocha-json-output-reporter":"^2.0.1","@fluidframework/build-tools":"^0.28.0","@fluidframework/build-common":"^2.0.3","@fluidframework/mocha-test-setup":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0","@fluidframework/test-runtime-utils":">=2.0.0-internal.7.4.7 <2.0.0-internal.7.5.0","@fluidframework/eslint-config-fluid":"^3.1.0","@fluidframework/location-redirection-utils-previous":"npm:@fluidframework/location-redirection-utils@2.0.0-internal.7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/location-redirection-utils_2.0.0-internal.7.4.7_1707783736659_0.7136610573433995","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-07-22T15:10:06.307Z","modified":"2026-07-29T21:15:31.165Z","2.0.0-internal.1.0.0.81589":"2022-07-22T15:10:06.595Z","2.0.0-internal.1.0.0.81601":"2022-07-22T15:53:30.303Z","2.0.0-internal.1.0.0.82159":"2022-07-26T14:39:49.445Z","2.0.0-internal.1.0.0.82628":"2022-07-28T16:49:47.708Z","2.0.0-internal.1.0.0.82693":"2022-07-28T19:50:30.588Z","2.0.0-internal.1.0.0.83139":"2022-08-01T21:30:51.041Z","2.0.0-internal.1.0.0.84253":"2022-08-08T19:30:32.675Z","2.0.0-internal.1.0.0":"2022-08-09T01:18:48.291Z","2.0.0-internal.1.1.0":"2022-09-02T20:03:59.078Z","2.0.0-internal.1.1.1":"2022-09-09T21:39:03.959Z","2.0.0-internal.1.2.0.93071":"2022-09-14T20:49:24.661Z","2.0.0-internal.1.1.2":"2022-09-16T00:14:41.283Z","2.0.0-internal.1.0.1":"2022-09-22T23:36:10.241Z","2.0.0-internal.1.1.3":"2022-09-23T21:51:10.312Z","2.0.0-internal.1.2.0":"2022-09-26T20:12:11.798Z","2.0.0-internal.1.1.4":"2022-09-28T00:27:05.093Z","2.0.0-dev.1.3.0.96595":"2022-09-30T20:01:53.140Z","2.0.0-internal.1.2.1":"2022-10-03T23:48:17.014Z","2.0.0-internal.1.2.2":"2022-10-05T00:58:44.267Z","2.0.0-internal.1.4.0":"2022-10-06T23:13:56.096Z","2.0.0-internal.1.4.1":"2022-10-10T21:13:21.797Z","2.0.0-internal.1.4.2":"2022-10-13T00:00:31.364Z","2.0.0-internal.2.0.0":"2022-10-18T02:52:43.021Z","2.0.0-internal.1.4.3":"2022-10-18T22:39:03.440Z","2.0.0-internal.1.4.4":"2022-10-20T06:41:54.747Z","2.0.0-internal.2.0.1":"2022-10-20T19:15:40.609Z","2.0.0-dev.1.4.5.105745":"2022-11-02T19:48:14.879Z","2.0.0-internal.1.4.5":"2022-11-03T19:22:52.962Z","2.0.0-dev.1.4.6.106135":"2022-11-03T21:54:51.213Z","2.0.0-internal.1.4.6":"2022-11-03T22:38:20.776Z","2.0.0-internal.2.0.2":"2022-11-04T22:58:20.589Z","2.0.0-internal.2.0.3":"2022-11-10T18:47:44.334Z","2.0.0-internal.2.1.0":"2022-11-14T19:13:02.860Z","2.0.0-internal.1.4.7":"2022-11-21T19:47:30.327Z","2.0.0-internal.2.0.4":"2022-11-21T23:02:37.120Z","2.0.0-internal.2.1.1":"2022-11-21T23:05:06.905Z","2.0.0-dev.2.2.0.111723":"2022-11-28T15:29:01.181Z","2.0.0-internal.1.4.8":"2022-12-02T00:28:47.795Z","2.0.0-internal.2.1.2":"2022-12-02T00:35:01.353Z","2.0.0-internal.2.2.0":"2022-12-09T19:42:49.644Z","2.0.0-dev.2.3.0.115467":"2022-12-13T23:14:57.585Z","2.0.0-internal.2.2.1":"2023-01-07T01:21:17.543Z","2.0.0-internal.2.3.0":"2023-01-18T01:40:53.789Z","2.0.0-internal.1.4.9":"2023-01-19T00:17:58.637Z","2.0.0-internal.2.3.1":"2023-01-20T20:24:23.228Z","2.0.0-internal.2.4.0":"2023-01-25T22:18:23.785Z","2.0.0-internal.3.0.0":"2023-01-28T02:04:40.289Z","2.0.0-dev.3.1.0.125672":"2023-01-31T16:29:16.655Z","2.0.0-internal.3.0.1":"2023-02-03T23:59:33.093Z","2.0.0-internal.3.1.0":"2023-02-10T07:06:43.094Z","2.0.0-internal.3.0.2":"2023-02-14T17:46:36.861Z","2.0.0-internal.2.4.1":"2023-02-23T23:16:54.956Z","2.0.0-internal.3.2.0":"2023-02-24T02:57:02.164Z","2.0.0-internal.3.2.1":"2023-02-27T21:59:25.963Z","2.0.0-internal.3.0.3":"2023-02-27T23:53:46.457Z","2.0.0-internal.3.2.2":"2023-03-01T00:02:47.345Z","2.0.0-internal.3.0.4":"2023-03-10T00:59:20.221Z","2.0.0-internal.3.3.0":"2023-03-10T20:30:00.583Z","2.0.0-internal.2.4.2":"2023-03-10T23:03:09.476Z","2.0.0-internal.2.4.3":"2023-03-16T20:06:40.362Z","2.0.0-internal.3.3.1":"2023-03-16T23:37:20.721Z","2.0.0-internal.3.3.2":"2023-03-21T01:01:54.344Z","2.0.0-internal.3.4.0":"2023-03-22T22:07:43.054Z","2.0.0-internal.3.4.1":"2023-03-24T21:52:08.154Z","2.0.0-internal.4.0.0":"2023-03-24T22:23:26.341Z","2.0.0-internal.3.0.5":"2023-03-24T23:46:41.513Z","2.0.0-internal.3.2.3":"2023-03-27T18:51:47.664Z","2.0.0-internal.3.3.3":"2023-03-27T19:06:21.747Z","2.0.0-internal.3.4.2":"2023-03-27T19:09:25.204Z","2.0.0-internal.4.0.1":"2023-03-27T21:29:44.196Z","2.0.0-internal.3.1.1":"2023-03-29T01:41:19.621Z","2.0.0-internal.4.0.2":"2023-04-01T00:59:50.979Z","2.0.0-internal.3.0.6":"2023-04-01T01:42:08.398Z","2.0.0-internal.3.4.3":"2023-04-01T03:02:33.835Z","2.0.0-internal.3.4.4":"2023-04-04T20:48:03.806Z","2.0.0-internal.4.0.3":"2023-04-04T22:47:07.606Z","2.0.0-dev.4.1.0.148229":"2023-04-06T22:29:36.678Z","2.0.0-internal.4.0.4":"2023-04-07T17:23:51.417Z","2.0.0-internal.4.0.5":"2023-04-07T21:52:51.696Z","2.0.0-internal.4.0.6":"2023-04-21T02:14:53.457Z","2.0.0-internal.4.1.0":"2023-04-22T00:29:56.953Z","2.0.0-dev.4.2.0.153917":"2023-04-25T19:59:06.189Z","2.0.0-internal.4.1.1":"2023-04-27T17:33:38.991Z","2.0.0-internal.4.1.2":"2023-05-01T18:47:10.725Z","2.0.0-internal.3.4.5":"2023-05-04T20:21:32.858Z","2.0.0-internal.4.2.0":"2023-05-05T23:30:59.899Z","2.0.0-dev.4.3.0.157531":"2023-05-08T20:50:48.699Z","2.0.0-dev.4.3.0.158678":"2023-05-10T16:42:59.851Z","2.0.0-dev.4.3.0.159619":"2023-05-11T20:38:51.029Z","2.0.0-internal.4.2.1":"2023-05-11T21:20:27.341Z","2.0.0-internal.4.3.0":"2023-05-18T18:43:19.312Z","2.0.0-dev.4.4.0.161322":"2023-05-18T19:04:58.460Z","2.0.0-dev.4.4.0.161516":"2023-05-19T01:31:34.979Z","2.0.0-dev.4.4.0.161652":"2023-05-19T19:58:11.371Z","2.0.0-dev.4.4.0.161784":"2023-05-20T00:54:00.262Z","2.0.0-dev.4.4.0.162089":"2023-05-23T17:07:01.924Z","2.0.0-dev.4.4.0.162253":"2023-05-24T07:16:33.930Z","2.0.0-dev.4.4.0.162574":"2023-05-25T18:20:00.899Z","2.0.0-internal.4.4.0":"2023-06-05T17:44:04.369Z","2.0.0-internal.5.0.0":"2023-06-06T00:40:29.584Z","2.0.0-internal.4.3.1":"2023-06-13T04:05:54.793Z","2.0.0-internal.4.4.1":"2023-06-14T20:08:28.698Z","2.0.0-internal.5.0.1":"2023-06-14T21:17:39.718Z","2.0.0-dev.5.2.0.169897":"2023-06-21T15:46:21.800Z","2.0.0-internal.5.1.0":"2023-06-21T18:22:30.619Z","2.0.0-internal.5.1.1":"2023-06-29T23:20:54.489Z","2.0.0-internal.5.2.0":"2023-07-05T19:12:22.267Z","2.0.0-internal.5.3.0":"2023-07-15T00:55:44.347Z","2.0.0-internal.4.4.2":"2023-07-21T21:10:34.907Z","2.0.0-internal.5.3.1":"2023-07-24T18:38:33.518Z","2.0.0-dev.5.3.2.178189":"2023-07-25T18:34:59.602Z","2.0.0-internal.4.4.3":"2023-07-27T19:34:42.487Z","2.0.0-internal.5.3.2":"2023-07-27T21:05:52.009Z","2.0.0-internal.4.4.4":"2023-08-03T21:27:11.712Z","2.0.0-internal.5.4.0":"2023-08-03T21:31:43.261Z","2.0.0-internal.6.0.0":"2023-08-03T22:29:40.843Z","2.0.0-internal.5.3.4":"2023-08-07T20:23:48.328Z","2.0.0-internal.6.1.0":"2023-08-15T23:03:06.542Z","2.0.0-internal.6.1.1":"2023-08-17T23:53:42.167Z","2.0.0-internal.5.4.2":"2023-08-20T15:52:07.222Z","2.0.0-internal.6.0.1":"2023-08-20T21:23:44.788Z","2.0.0-internal.6.2.0":"2023-08-29T18:26:13.737Z","2.0.0-internal.6.3.0":"2023-09-06T22:37:59.524Z","2.0.0-internal.6.3.1":"2023-09-07T19:58:53.283Z","2.0.0-internal.6.0.2":"2023-09-08T00:59:46.556Z","2.0.0-internal.6.3.2":"2023-09-08T22:47:40.629Z","2.0.0-internal.6.1.2":"2023-09-11T17:21:31.262Z","2.0.0-internal.6.0.3":"2023-09-11T17:23:48.959Z","2.0.0-internal.6.2.1":"2023-09-11T17:26:25.587Z","2.0.0-internal.4.3.2":"2023-09-11T20:56:34.261Z","2.0.0-dev.6.4.0.191258":"2023-09-19T03:51:28.020Z","2.0.0-dev.6.4.0.191457":"2023-09-19T23:20:01.440Z","2.0.0-dev.6.4.0.191515":"2023-09-20T00:33:20.737Z","2.0.0-dev.6.4.0.192049":"2023-09-20T23:34:52.187Z","2.0.0-internal.6.3.3":"2023-09-21T21:53:58.156Z","2.0.0-internal.6.4.0":"2023-09-28T01:05:48.127Z","2.0.0-internal.7.0.0":"2023-09-28T17:43:13.096Z","2.0.0-internal.6.0.4":"2023-10-03T00:28:14.712Z","2.0.0-internal.6.1.3":"2023-10-03T01:39:51.890Z","2.0.0-internal.6.3.4":"2023-10-03T02:40:51.945Z","2.0.0-internal.6.2.2":"2023-10-03T05:14:09.092Z","2.0.0-internal.7.1.0":"2023-10-13T22:36:37.756Z","2.0.0-dev.7.2.0.203917":"2023-10-23T22:29:56.632Z","2.0.0-dev.7.2.0.204906":"2023-10-25T17:24:02.423Z","2.0.0-dev.7.2.0.205722":"2023-10-26T23:16:08.861Z","2.0.0-internal.7.2.0":"2023-10-27T01:20:26.170Z","2.0.0-internal.7.2.1":"2023-10-28T00:28:42.567Z","2.0.0-internal.7.0.1":"2023-10-28T00:33:37.700Z","2.0.0-internal.7.1.1":"2023-10-28T00:33:59.322Z","2.0.0-dev.7.3.0.206769":"2023-10-31T01:02:38.580Z","2.0.0-dev.7.3.0.207781":"2023-11-02T00:14:45.641Z","2.0.0-dev.7.3.0.207992":"2023-11-02T19:39:35.005Z","2.0.0-dev.7.3.0.209023":"2023-11-07T21:57:16.109Z","2.0.0-internal.7.2.2":"2023-11-07T22:07:11.225Z","2.0.0-internal.7.1.2":"2023-11-07T22:11:57.443Z","2.0.0-internal.7.0.2":"2023-11-07T22:12:48.025Z","2.0.0-dev.7.3.0.209174":"2023-11-08T00:00:09.020Z","2.0.0-dev.7.3.0.209831":"2023-11-10T01:41:57.862Z","2.0.0-dev.7.3.0.210328":"2023-11-11T02:26:56.810Z","2.0.0-internal.7.0.3":"2023-11-15T21:41:59.430Z","2.0.0-dev.7.3.0.211848":"2023-11-16T22:27:31.144Z","2.0.0-dev.7.3.0.212138":"2023-11-17T20:40:40.313Z","2.0.0-internal.7.3.0":"2023-11-17T21:21:49.678Z","2.0.0-dev.7.4.0.214930":"2023-11-28T23:40:47.531Z","2.0.0-dev.7.4.0.215366":"2023-11-29T23:08:01.956Z","2.0.0-dev.7.4.0.215747":"2023-11-30T17:32:57.462Z","2.0.0-dev.7.4.0.215930":"2023-11-30T20:43:24.504Z","2.0.0-dev.7.4.0.216897":"2023-12-01T21:46:27.664Z","2.0.0-dev.7.4.0.217212":"2023-12-02T18:11:12.380Z","2.0.0-dev.7.4.0.217884":"2023-12-05T19:55:52.356Z","2.0.0-dev.7.4.0.221926":"2023-12-13T00:48:46.735Z","2.0.0-internal.7.4.0":"2023-12-13T18:03:27.576Z","2.0.0-internal.7.4.1":"2024-01-10T23:50:47.773Z","2.0.0-internal.7.4.2":"2024-01-16T20:00:04.202Z","2.0.0-internal.7.4.3":"2024-01-18T23:05:07.035Z","2.0.0-internal.7.4.4":"2024-02-06T19:03:03.106Z","2.0.0-internal.7.4.5":"2024-02-07T22:12:31.580Z","2.0.0-internal.7.4.6":"2024-02-08T00:58:07.775Z","2.0.0-internal.7.4.7":"2024-02-13T00:22:16.844Z"},"bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"author":{"name":"Microsoft and contributors"},"license":"MIT","homepage":"https://fluidframework.com","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git","directory":"packages/loader/location-redirection-utils"},"description":"Location Redirection Handling Utilities","maintainers":[{"email":"ffsa@microsoft.com","name":"ms-fluid-bot"},{"email":"microsoft-oss-publishing@microsoft.com","name":"microsoft-oss-releases"},{"email":"npmjs@microsoft.com","name":"microsoft1es"}],"readme":"","readmeFilename":""}