@@ -41,16 +41,18 @@ export interface IStorageProvider {
4141 settings : IStorage ;
4242}
4343export interface ISubmissionAdapter {
44- sendRequest ( request : SubmissionRequest , callback : SubmissionCallback , isAppExiting ?: boolean ) : void ;
44+ sendRequest ( request : SubmissionRequest , callback ? : SubmissionCallback , isAppExiting ?: boolean ) : void ;
4545}
4646export interface ISubmissionClient {
4747 postEvents ( events : IEvent [ ] , config : Configuration , callback : ( response : SubmissionResponse ) => void , isAppExiting ?: boolean ) : void ;
4848 postUserDescription ( referenceId : string , description : IUserDescription , config : Configuration , callback : ( response : SubmissionResponse ) => void ) : void ;
4949 getSettings ( config : Configuration , callback : ( response : SettingsResponse ) => void ) : void ;
50+ sendHeartbeat ( sessionIdOrUserId : string , closeSession : boolean , config : Configuration ) : void ;
5051}
5152export interface IConfigurationSettings {
5253 apiKey ?: string ;
5354 serverUrl ?: string ;
55+ heartbeatServerUrl ?: string ;
5456 environmentInfoCollector ?: IEnvironmentInfoCollector ;
5557 errorParser ?: IErrorParser ;
5658 lastReferenceIdManager ?: ILastReferenceIdManager ;
@@ -114,8 +116,9 @@ export declare class EventPluginManager {
114116export declare class HeartbeatPlugin implements IEventPlugin {
115117 priority : number ;
116118 name : string ;
119+ private _heartbeatInterval ;
117120 private _heartbeatIntervalId ;
118- private _lastUser ;
121+ constructor ( heartbeatInterval ?: number ) ;
119122 run ( context : EventPluginContext , next ?: ( ) => void ) : void ;
120123}
121124export declare class ReferenceIdPlugin implements IEventPlugin {
@@ -150,7 +153,8 @@ export declare class DefaultSubmissionClient implements ISubmissionClient {
150153 postEvents ( events : IEvent [ ] , config : Configuration , callback : ( response : SubmissionResponse ) => void , isAppExiting ?: boolean ) : void ;
151154 postUserDescription ( referenceId : string , description : IUserDescription , config : Configuration , callback : ( response : SubmissionResponse ) => void ) : void ;
152155 getSettings ( config : Configuration , callback : ( response : SettingsResponse ) => void ) : void ;
153- private createRequest ( config , method , path , data ?) ;
156+ sendHeartbeat ( sessionIdOrUserId : string , closeSession : boolean , config : Configuration ) : void ;
157+ private createRequest ( config , method , url , data ?) ;
154158 private createSubmissionCallback ( config , callback ) ;
155159}
156160export declare class Utils {
@@ -162,8 +166,10 @@ export declare class Utils {
162166 static parseVersion ( source : string ) : string ;
163167 static parseQueryString ( query : string , exclusions ?: string [ ] ) : Object ;
164168 static randomNumber ( ) : number ;
165- static isMatch ( input : string , patterns : string [ ] ) : boolean ;
169+ static isMatch ( input : string , patterns : string [ ] , ignoreCase ?: boolean ) : boolean ;
166170 static isEmpty ( input : Object ) : boolean ;
171+ static startsWith ( input : string , prefix : string ) : boolean ;
172+ static endsWith ( input : string , suffix : string ) : boolean ;
167173 static stringify ( data : any , exclusions ?: string [ ] , maxDepth ?: number ) : string ;
168174}
169175export declare class Configuration implements IConfigurationSettings {
@@ -190,6 +196,8 @@ export declare class Configuration implements IConfigurationSettings {
190196 isValid : boolean ;
191197 private _serverUrl ;
192198 serverUrl : string ;
199+ private _heartbeatServerUrl ;
200+ heartbeatServerUrl : string ;
193201 private _dataExclusions ;
194202 private _userAgentBotPatterns ;
195203 dataExclusions : string [ ] ;
@@ -206,7 +214,7 @@ export declare class Configuration implements IConfigurationSettings {
206214 setUserIdentity ( identity : string ) : void ;
207215 setUserIdentity ( identity : string , name : string ) : void ;
208216 userAgent : string ;
209- useSessions ( sendHeartbeats ?: boolean ) : void ;
217+ useSessions ( sendHeartbeats ?: boolean , heartbeatInterval ?: number ) : void ;
210218 useReferenceIds ( ) : void ;
211219 useLocalStorage ( ) : void ;
212220 useDebugLogger ( ) : void ;
@@ -286,10 +294,8 @@ export declare class ExceptionlessClient {
286294 submitNotFound ( resource : string , callback ?: ( context : EventPluginContext ) => void ) : void ;
287295 createSessionStart ( ) : EventBuilder ;
288296 submitSessionStart ( callback ?: ( context : EventPluginContext ) => void ) : void ;
289- createSessionEnd ( ) : EventBuilder ;
290- submitSessionEnd ( callback ?: ( context : EventPluginContext ) => void ) : void ;
291- createSessionHeartbeat ( ) : EventBuilder ;
292- submitSessionHeartbeat ( callback ?: ( context : EventPluginContext ) => void ) : void ;
297+ submitSessionEnd ( sessionIdOrUserId : string ) : void ;
298+ submitSessionHeartbeat ( sessionIdOrUserId : string ) : void ;
293299 createEvent ( pluginContextData ?: ContextData ) : EventBuilder ;
294300 submitEvent ( event : IEvent , pluginContextData ?: ContextData , callback ?: ( context : EventPluginContext ) => void ) : void ;
295301 updateUserEmailAndDescription ( referenceId : string , email : string , description : string , callback ?: ( response : SubmissionResponse ) => void ) : void ;
@@ -405,10 +411,15 @@ export declare class SubmissionMethodPlugin implements IEventPlugin {
405411export declare class DuplicateCheckerPlugin implements IEventPlugin {
406412 priority : number ;
407413 name : string ;
408- private recentlyProcessedErrors ;
414+ private _processedHashcodes ;
415+ private _getCurrentTime ;
416+ constructor ( getCurrentTime ?: ( ) => number ) ;
417+ run ( context : EventPluginContext , next ?: ( ) => void ) : void ;
418+ }
419+ export declare class EventExclusionPlugin implements IEventPlugin {
420+ priority : number ;
421+ name : string ;
409422 run ( context : EventPluginContext , next ?: ( ) => void ) : void ;
410- private getNow ( ) ;
411- private checkDuplicate ( error , log ) ;
412423}
413424export interface IError extends IInnerError {
414425 modules ?: IModule [ ] ;
@@ -427,11 +438,10 @@ export interface SubmissionCallback {
427438 ( status : number , message : string , data ?: string , headers ?: Object ) : void ;
428439}
429440export interface SubmissionRequest {
430- serverUrl : string ;
431441 apiKey : string ;
432442 userAgent : string ;
433443 method : string ;
434- path : string ;
444+ url : string ;
435445 data : string ;
436446}
437447export declare class SettingsResponse {
@@ -496,7 +506,7 @@ export declare class DefaultRequestInfoCollector implements IRequestInfoCollecto
496506 getRequestInfo ( context : EventPluginContext ) : IRequestInfo ;
497507}
498508export declare class DefaultSubmissionAdapter implements ISubmissionAdapter {
499- sendRequest ( request : SubmissionRequest , callback : SubmissionCallback , isAppExiting ?: boolean ) : void ;
509+ sendRequest ( request : SubmissionRequest , callback ? : SubmissionCallback , isAppExiting ?: boolean ) : void ;
500510}
501511export declare class BrowserStorageProvider implements IStorageProvider {
502512 queue : IStorage ;
0 commit comments