@@ -3,8 +3,10 @@ import {
33 BacktraceAttributeProvider ,
44 BacktraceBreadcrumbs ,
55 BacktraceConfiguration ,
6+ BacktraceReportSubmissionResult ,
67 BacktraceRequestHandler ,
78 BacktraceSessionProvider ,
9+ BacktraceSubmissionResponse ,
810 DebugIdProvider ,
911 FileSystem ,
1012 SdkOptions ,
@@ -16,11 +18,11 @@ import { ReportEvents } from './events/ReportEvents';
1618import { AttributeType , BacktraceData } from './model/data/BacktraceData' ;
1719import { BacktraceReportSubmission , RequestBacktraceReportSubmission } from './model/http/BacktraceReportSubmission' ;
1820import { BacktraceReport } from './model/report/BacktraceReport' ;
19- import { BacktraceModule , BacktraceModuleBindData } from './modules/BacktraceModule' ;
20- import { BacktraceModuleCtor , BacktraceModules , ReadonlyBacktraceModules } from './modules/BacktraceModules' ;
2121import { AttributeManager } from './modules/attribute/AttributeManager' ;
2222import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider' ;
2323import { UserAttributeProvider } from './modules/attribute/UserAttributeProvider' ;
24+ import { BacktraceModule , BacktraceModuleBindData } from './modules/BacktraceModule' ;
25+ import { BacktraceModuleCtor , BacktraceModules , ReadonlyBacktraceModules } from './modules/BacktraceModules' ;
2426import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager' ;
2527import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter' ;
2628import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder' ;
@@ -270,25 +272,28 @@ export abstract class BacktraceCoreClient<O extends BacktraceConfiguration = Bac
270272 attributes ?: Record < string , unknown > ,
271273 attachments ?: BacktraceAttachment [ ] ,
272274 abortSignal ?: AbortSignal ,
273- ) : Promise < void > ;
275+ ) : Promise < BacktraceReportSubmissionResult < BacktraceSubmissionResponse > > ;
274276 /**
275277 * Asynchronously sends error data to Backtrace
276278 * @param report Backtrace Report
277279 * @param abortSignal Signal to abort sending
278280 */
279- public send ( report : BacktraceReport , abortSignal ?: AbortSignal ) : Promise < void > ;
281+ public send (
282+ report : BacktraceReport ,
283+ abortSignal ?: AbortSignal ,
284+ ) : Promise < BacktraceReportSubmissionResult < BacktraceSubmissionResponse > > ;
280285 // This function CANNOT be an async function due to possible async state machine stack frame inclusion, which breaks the skip stacks
281286 public send (
282287 data : BacktraceReport | Error | string ,
283288 reportAttributesOrAbortSignal ?: Record < string , unknown > | AbortSignal ,
284289 reportAttachments : BacktraceAttachment [ ] = [ ] ,
285290 abortSignal ?: AbortSignal ,
286- ) : Promise < void > {
291+ ) : Promise < BacktraceReportSubmissionResult < BacktraceSubmissionResponse > > {
287292 if ( ! this . _enabled ) {
288- return Promise . resolve ( ) ;
293+ return Promise . resolve ( BacktraceReportSubmissionResult . SdkDisabled ( ) ) ;
289294 }
290295 if ( this . _rateLimitWatcher . skipReport ( ) ) {
291- return Promise . resolve ( ) ;
296+ return Promise . resolve ( BacktraceReportSubmissionResult . OnLimitReached ( 'Client' ) ) ;
292297 }
293298
294299 // If data is BacktraceReport, we know that the second argument should be only AbortSignal
@@ -308,12 +313,12 @@ export abstract class BacktraceCoreClient<O extends BacktraceConfiguration = Bac
308313 this . reportEvents . emit ( 'before-skip' , report ) ;
309314
310315 if ( this . options . skipReport && this . options . skipReport ( report ) ) {
311- return Promise . resolve ( ) ;
316+ return Promise . resolve ( BacktraceReportSubmissionResult . ReportSkipped ( ) ) ;
312317 }
313318
314319 const backtraceData = this . generateSubmissionData ( report ) ;
315320 if ( ! backtraceData ) {
316- return Promise . resolve ( ) ;
321+ return Promise . resolve ( BacktraceReportSubmissionResult . ReportSkipped ( ) ) ;
317322 }
318323
319324 const submissionAttachments = this . generateSubmissionAttachments ( report , reportAttachments ) ;
@@ -324,6 +329,7 @@ export abstract class BacktraceCoreClient<O extends BacktraceConfiguration = Bac
324329 . send ( backtraceData , submissionAttachments , abortSignal )
325330 . then ( ( submissionResult ) => {
326331 this . reportEvents . emit ( 'after-send' , report , backtraceData , submissionAttachments , submissionResult ) ;
332+ return submissionResult ;
327333 } ) ;
328334 }
329335
0 commit comments