File: D:/HostingSpaces/SBogers10/base.komma.pro/node_modules/@sentry/browser/dist/transports/xhr.js.map
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/transports/xhr.ts"],"names":[],"mappings":";;AAAA,qCAAoD;AACpD,uCAAwD;AACxD,uCAA2E;AAE3E,+BAAuC;AAEvC,4BAA4B;AAC5B;IAAkC,wCAAa;IAA/C;QAAA,qEAqDC;QApDC,mDAAmD;QAC3C,oBAAc,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;IAmDtD,CAAC;IAjDC;;OAEG;IACI,gCAAS,GAAhB,UAAiB,KAAY;QAA7B,iBA6CC;QA5CC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE;YAC9C,OAAO,OAAO,CAAC,MAAM,CAAC;gBACpB,KAAK,OAAA;gBACL,MAAM,EAAE,2BAAyB,IAAI,CAAC,cAAc,+BAA4B;gBAChF,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;SACJ;QAED,IAAM,SAAS,GAAG,2BAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,mBAAW,CAAW,UAAC,OAAO,EAAE,MAAM;YACxC,IAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YAErC,OAAO,CAAC,kBAAkB,GAAG;gBAC3B,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;oBAC5B,OAAO;iBACR;gBAED,IAAM,MAAM,GAAG,cAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnD,IAAI,MAAM,KAAK,cAAM,CAAC,OAAO,EAAE;oBAC7B,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;oBACpB,OAAO;iBACR;gBAED,IAAI,MAAM,KAAK,cAAM,CAAC,SAAS,EAAE;oBAC/B,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,6BAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC3G,cAAM,CAAC,IAAI,CAAC,0CAAwC,KAAI,CAAC,cAAgB,CAAC,CAAC;iBAC5E;gBAED,MAAM,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,IAAM,MAAM,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzC,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oBAC/C,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;iBAChE;aACF;YACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AArDD,CAAkC,oBAAa,GAqD9C;AArDY,oCAAY","sourcesContent":["import { eventToSentryRequest } from '@sentry/core';\nimport { Event, Response, Status } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /** Locks transport after receiving 429 response */\n private _disabledUntil: Date = new Date(Date.now());\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike<Response> {\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event,\n reason: `Transport locked till ${this._disabledUntil} due to too many requests.`,\n status: 429,\n });\n }\n\n const sentryReq = eventToSentryRequest(event, this._api);\n\n return this._buffer.add(\n new SyncPromise<Response>((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = () => {\n if (request.readyState !== 4) {\n return;\n }\n\n const status = Status.fromHttpCode(request.status);\n\n if (status === Status.Success) {\n resolve({ status });\n return;\n }\n\n if (status === Status.RateLimit) {\n const now = Date.now();\n this._disabledUntil = new Date(now + parseRetryAfterHeader(now, request.getResponseHeader('Retry-After')));\n logger.warn(`Too many requests, backing off till: ${this._disabledUntil}`);\n }\n\n reject(request);\n };\n\n request.open('POST', sentryReq.url);\n for (const header in this.options.headers) {\n if (this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryReq.body);\n }),\n );\n }\n}\n"]}