diff --git a/packages/browser/src/transports/base.ts b/packages/browser/src/transports/base.ts index 8b669ae6bb3c..e23425fde9c1 100644 --- a/packages/browser/src/transports/base.ts +++ b/packages/browser/src/transports/base.ts @@ -76,7 +76,8 @@ export abstract class BaseTransport implements Transport { * https://developer.mozilla.org/en-US/docs/Web/API/Headers/get */ const limited = this._handleRateLimit(headers); - if (limited) logger.warn(`Too many requests, backing off until: ${this._disabledUntil(requestType)}`); + if (limited) + logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`); if (status === Status.Success) { resolve({ status }); diff --git a/packages/browser/src/transports/fetch.ts b/packages/browser/src/transports/fetch.ts index bb47cc2fa621..11ebb38adccb 100644 --- a/packages/browser/src/transports/fetch.ts +++ b/packages/browser/src/transports/fetch.ts @@ -109,7 +109,9 @@ export class FetchTransport extends BaseTransport { return Promise.reject({ event: originalPayload, type: sentryRequest.type, - reason: `Transport locked till ${this._disabledUntil(sentryRequest.type)} due to too many requests.`, + reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil( + sentryRequest.type, + )} due to too many requests.`, status: 429, }); } diff --git a/packages/browser/src/transports/xhr.ts b/packages/browser/src/transports/xhr.ts index 27e2d1411e91..f33d6f28857f 100644 --- a/packages/browser/src/transports/xhr.ts +++ b/packages/browser/src/transports/xhr.ts @@ -29,7 +29,9 @@ export class XHRTransport extends BaseTransport { return Promise.reject({ event: originalPayload, type: sentryRequest.type, - reason: `Transport locked till ${this._disabledUntil(sentryRequest.type)} due to too many requests.`, + reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil( + sentryRequest.type, + )} due to too many requests.`, status: 429, }); } diff --git a/packages/browser/test/unit/transports/fetch.test.ts b/packages/browser/test/unit/transports/fetch.test.ts index 12ca1c61a248..d1a1048c43f5 100644 --- a/packages/browser/test/unit/transports/fetch.test.ts +++ b/packages/browser/test/unit/transports/fetch.test.ts @@ -190,7 +190,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } @@ -256,7 +258,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledTwice).equal(true); } @@ -317,7 +321,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } @@ -326,7 +332,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for transaction requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } @@ -393,7 +401,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } @@ -402,7 +412,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for transaction requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } @@ -455,7 +467,9 @@ describe('FetchTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(fetch.calledOnce).equal(true); } diff --git a/packages/browser/test/unit/transports/xhr.test.ts b/packages/browser/test/unit/transports/xhr.test.ts index 4f4a1796c2ac..be7da952710d 100644 --- a/packages/browser/test/unit/transports/xhr.test.ts +++ b/packages/browser/test/unit/transports/xhr.test.ts @@ -127,7 +127,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } @@ -190,7 +192,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(2); } @@ -256,7 +260,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } @@ -265,7 +271,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for transaction requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } @@ -332,7 +340,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } @@ -341,7 +351,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for transaction requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } @@ -393,7 +405,9 @@ describe('XHRTransport', () => { throw new Error('unreachable!'); } catch (res) { expect(res.status).equal(429); - expect(res.reason).equal(`Transport locked till ${new Date(afterLimit)} due to too many requests.`); + expect(res.reason).equal( + `Transport for event requests locked till ${new Date(afterLimit)} due to too many requests.`, + ); expect(server.requests.length).equal(1); } diff --git a/packages/node/src/transports/base/index.ts b/packages/node/src/transports/base/index.ts index 7d26e2acb094..1fbd6604554a 100644 --- a/packages/node/src/transports/base/index.ts +++ b/packages/node/src/transports/base/index.ts @@ -182,17 +182,19 @@ export abstract class BaseTransport implements Transport { /** JSDoc */ protected async _send( - sentryReq: SentryRequest, + sentryRequest: SentryRequest, originalPayload?: Event | Session | SessionAggregates, ): Promise { if (!this.module) { throw new SentryError('No module available'); } - if (originalPayload && this._isRateLimited(sentryReq.type)) { + if (originalPayload && this._isRateLimited(sentryRequest.type)) { return Promise.reject({ payload: originalPayload, - type: sentryReq.type, - reason: `Transport locked till ${this._disabledUntil(sentryReq.type)} due to too many requests.`, + type: sentryRequest.type, + reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil( + sentryRequest.type, + )} due to too many requests.`, status: 429, }); } @@ -205,7 +207,7 @@ export abstract class BaseTransport implements Transport { if (!this.module) { throw new SentryError('No module available'); } - const options = this._getRequestOptions(this.urlParser(sentryReq.url)); + const options = this._getRequestOptions(this.urlParser(sentryRequest.url)); const req = this.module.request(options, res => { const statusCode = res.statusCode || 500; const status = Status.fromHttpCode(statusCode); @@ -228,7 +230,10 @@ export abstract class BaseTransport implements Transport { }; const limited = this._handleRateLimit(headers); - if (limited) logger.warn(`Too many requests, backing off until: ${this._disabledUntil(sentryReq.type)}`); + if (limited) + logger.warn( + `Too many ${sentryRequest.type} requests, backing off until: ${this._disabledUntil(sentryRequest.type)}`, + ); if (status === Status.Success) { resolve({ status }); @@ -249,7 +254,7 @@ export abstract class BaseTransport implements Transport { }); }); req.on('error', reject); - req.end(sentryReq.body); + req.end(sentryRequest.body); }), ); } diff --git a/packages/node/test/transports/http.test.ts b/packages/node/test/transports/http.test.ts index 1f8fe905b059..60ebadf015ef 100644 --- a/packages/node/test/transports/http.test.ts +++ b/packages/node/test/transports/http.test.ts @@ -204,7 +204,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload.message).toEqual('test'); expect(e.type).toEqual('event'); @@ -257,7 +259,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); @@ -268,7 +272,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for transaction requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(transactionPayload); expect(e.type).toEqual('transaction'); @@ -335,7 +341,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); @@ -391,7 +399,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); @@ -402,7 +412,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for session requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload.environment).toEqual(sessionPayload.environment); expect(e.payload.release).toEqual(sessionPayload.release); @@ -415,7 +427,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for transaction requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(transactionPayload); expect(e.type).toEqual('transaction'); @@ -474,7 +488,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); @@ -485,7 +501,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for transaction requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(transactionPayload); expect(e.type).toEqual('transaction'); @@ -539,7 +557,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); @@ -586,7 +606,9 @@ describe('HTTPTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload).toEqual(eventPayload); expect(e.type).toEqual('event'); diff --git a/packages/node/test/transports/https.test.ts b/packages/node/test/transports/https.test.ts index 9732351735a5..aee6c328af5d 100644 --- a/packages/node/test/transports/https.test.ts +++ b/packages/node/test/transports/https.test.ts @@ -189,7 +189,9 @@ describe('HTTPSTransport', () => { } catch (e) { expect(e.status).toEqual(429); expect(e.reason).toEqual( - `Transport locked till ${new Date(now + retryAfterSeconds * 1000)} due to too many requests.`, + `Transport for event requests locked till ${new Date( + now + retryAfterSeconds * 1000, + )} due to too many requests.`, ); expect(e.payload.message).toEqual('test'); expect(e.type).toEqual('event');