@@ -14,7 +14,9 @@ import {
1414 BeforeConversionToEntityEventArgs ,
1515 AfterConversionToEntityEventArgs ,
1616 FailedRequestEventArgs ,
17- TopologyUpdatedEventArgs
17+ TopologyUpdatedEventArgs ,
18+ BeforeRequestEventArgs ,
19+ SucceedRequestEventArgs
1820} from "./Session/SessionEvents" ;
1921import { OperationExecutor } from "./Operations/OperationExecutor" ;
2022import { IDocumentSession } from "./Session/IDocumentSession" ;
@@ -275,6 +277,14 @@ export abstract class DocumentStoreBase
275277 eventName : "afterConversionToEntity" ,
276278 eventHandler : ( eventArgs : AfterConversionToEntityEventArgs ) => void
277279 ) : this;
280+ public addSessionListener (
281+ eventName : "beforeRequest" ,
282+ eventHandler : ( eventArgs : BeforeRequestEventArgs ) => void
283+ ) : this;
284+ public addSessionListener (
285+ eventName : "succeedRequest" ,
286+ eventHandler : ( eventArgs : SucceedRequestEventArgs ) => void
287+ ) : this;
278288 public addSessionListener ( eventName : any , eventHandler : ( eventArgs : any ) => void ) : this {
279289 this . _eventHandlers . push ( [ eventName , eventHandler ] ) ;
280290 return this ;
@@ -308,6 +318,14 @@ export abstract class DocumentStoreBase
308318 eventName : "afterConversionToEntity" ,
309319 eventHandler : ( eventArgs : AfterConversionToEntityEventArgs ) => void
310320 ) : void ;
321+ public removeSessionListener (
322+ eventName : "beforeRequest" ,
323+ eventHandler : ( eventArgs : BeforeRequestEventArgs ) => void
324+ ) : void ;
325+ public removeSessionListener (
326+ eventName : "succeedRequest" ,
327+ eventHandler : ( eventArgs : SucceedRequestEventArgs ) => void
328+ ) : void ;
311329 public removeSessionListener ( eventName : any , eventHandler : ( eventArgs : any ) => void ) : void {
312330 const toRemove = this . _eventHandlers
313331 . filter ( x => x [ 0 ] === eventName && x [ 1 ] === eventHandler ) [ 0 ] ;
@@ -320,7 +338,10 @@ export abstract class DocumentStoreBase
320338 public registerEvents ( session : DocumentSession ) : void ;
321339 public registerEvents ( requestExecutorOrSession : RequestExecutor | DocumentSession ) : void {
322340 this . _eventHandlers . forEach ( ( [ eventName , eventHandler ] ) => {
323- if ( eventName === "failedRequest" || eventName === "topologyUpdated" ) {
341+ if ( eventName === "failedRequest"
342+ || eventName === "topologyUpdated"
343+ || eventName === "beforeRequest"
344+ || eventName === "succeedRequest" ) {
324345 ( requestExecutorOrSession as RequestExecutor ) . on ( eventName as any , eventHandler ) ;
325346 } else {
326347 ( requestExecutorOrSession as DocumentSession ) . on ( eventName , eventHandler ) ;
0 commit comments