"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport type { WebResourceLike } from \"../util.js\";\nimport { toPipelineRequest, toWebResourceLike } from \"../util.js\";\nimport type { CompatResponse } from \"../response.js\";\nimport { toCompatResponse, toPipelineResponse } from \"../response.js\";\n\n/**\n * A compatible interface for core-http request policies\n */\nexport interface RequestPolicy {\n sendRequest(httpRequest: WebResourceLike): Promise<CompatResponse>;\n}\n\n/**\n * An enum for compatibility with RequestPolicy\n */\nexport enum HttpPipelineLogLevel {\n ERROR = 1,\n INFO = 3,\n OFF = 0,\n WARNING = 2,\n}\n\n/**\n * An interface for compatibility with RequestPolicy\n */\nexport interface RequestPolicyOptionsLike {\n log(logLevel: HttpPipelineLogLevel, message: string): void;\n shouldLog(logLevel: HttpPipelineLogLevel): boolean;\n}\n\nconst mockRequestPolicyOptions: RequestPolicyOptionsLike = {\n log(_logLevel: HttpPipelineLogLevel, _message: string): void {\n /* do nothing */\n },\n shouldLog(_logLevel: HttpPipelineLogLevel): boolean {\n return false;\n },\n};\n\n/**\n * An interface for compatibility with core-http's RequestPolicyFactory\n */\nexport interface RequestPolicyFactory {\n create(nextPolicy: RequestPolicy, options: RequestPolicyOptionsLike): RequestPolicy;\n}\n\n/**\n * The name of the RequestPolicyFactoryPolicy\n */\nexport const requestPolicyFactoryPolicyName = \"RequestPolicyFactoryPolicy\";\n\n/**\n * A policy that wraps policies written for core-http.\n * @param factories - An array of `RequestPolicyFactory` objects from a core-http pipeline\n */\nexport function createRequestPolicyFactoryPolicy(\n factories: RequestPolicyFactory[],\n): PipelinePolicy {\n const orderedFactories = factories.slice().reverse();\n\n return {\n name: requestPolicyFactoryPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n let httpPipeline: RequestPolicy = {\n async sendRequest(httpRequest) {\n const response = await next(toPipelineRequest(httpRequest));\n return toCompatResponse(response, { createProxy: true });\n },\n };\n for (const factory of orderedFactories) {\n httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);\n }\n\n const webResourceLike = toWebResourceLike(request, { createProxy: true });\n const response = await httpPipeline.sendRequest(webResourceLike);\n return toPipelineResponse(response);\n },\n };\n}\n"],
|
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,kBAAqD;AAErD,sBAAqD;AAY9C,IAAK,uBAAL,kBAAKA,0BAAL;AACL,EAAAA,4CAAA,WAAQ,KAAR;AACA,EAAAA,4CAAA,UAAO,KAAP;AACA,EAAAA,4CAAA,SAAM,KAAN;AACA,EAAAA,4CAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;AAeZ,MAAM,2BAAqD;AAAA,EACzD,IAAI,WAAiC,UAAwB;AAAA,EAE7D;AAAA,EACA,UAAU,WAA0C;AAClD,WAAO;AAAA,EACT;AACF;AAYO,MAAM,iCAAiC;AAMvC,SAAS,iCACd,WACgB;AAChB,QAAM,mBAAmB,UAAU,MAAM,EAAE,QAAQ;AAEnD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,YAAY,SAA0B,MAA8C;AACxF,UAAI,eAA8B;AAAA,QAChC,MAAM,YAAY,aAAa;AAC7B,gBAAMC,YAAW,MAAM,SAAK,+BAAkB,WAAW,CAAC;AAC1D,qBAAO,kCAAiBA,WAAU,EAAE,aAAa,KAAK,CAAC;AAAA,QACzD;AAAA,MACF;AACA,iBAAW,WAAW,kBAAkB;AACtC,uBAAe,QAAQ,OAAO,cAAc,wBAAwB;AAAA,MACtE;AAEA,YAAM,sBAAkB,+BAAkB,SAAS,EAAE,aAAa,KAAK,CAAC;AACxE,YAAM,WAAW,MAAM,aAAa,YAAY,eAAe;AAC/D,iBAAO,oCAAmB,QAAQ;AAAA,IACpC;AAAA,EACF;AACF;",
|