@@ -14,7 +14,7 @@ import {
1414 BeforeConversionToEntityEventArgs ,
1515 AfterConversionToEntityEventArgs ,
1616 FailedRequestEventArgs ,
17- TopologyUpdatedEventArgs
17+ TopologyUpdatedEventArgs , BeforeRequestEventArgs , SucceedRequestEventArgs
1818} from "./Session/SessionEvents" ;
1919import { OperationExecutor } from "./Operations/OperationExecutor" ;
2020import { IDocumentSession } from "./Session/IDocumentSession" ;
@@ -275,6 +275,14 @@ export abstract class DocumentStoreBase
275275 eventName : "afterConversionToEntity" ,
276276 eventHandler : ( eventArgs : AfterConversionToEntityEventArgs ) => void
277277 ) : this;
278+ public addSessionListener (
279+ eventName : "beforeRequest" ,
280+ eventHandler : ( eventArgs : BeforeRequestEventArgs ) => void
281+ ) : this;
282+ public addSessionListener (
283+ eventName : "succeedRequest" ,
284+ eventHandler : ( eventArgs : SucceedRequestEventArgs ) => void
285+ ) : this;
278286 public addSessionListener ( eventName : any , eventHandler : ( eventArgs : any ) => void ) : this {
279287 this . _eventHandlers . push ( [ eventName , eventHandler ] ) ;
280288 return this ;
@@ -308,6 +316,14 @@ export abstract class DocumentStoreBase
308316 eventName : "afterConversionToEntity" ,
309317 eventHandler : ( eventArgs : AfterConversionToEntityEventArgs ) => void
310318 ) : void ;
319+ public removeSessionListener (
320+ eventName : "beforeRequest" ,
321+ eventHandler : ( eventArgs : BeforeRequestEventArgs ) => void
322+ ) : void ;
323+ public removeSessionListener (
324+ eventName : "succeedRequest" ,
325+ eventHandler : ( eventArgs : SucceedRequestEventArgs ) => void
326+ ) : void ;
311327 public removeSessionListener ( eventName : any , eventHandler : ( eventArgs : any ) => void ) : void {
312328 const toRemove = this . _eventHandlers
313329 . filter ( x => x [ 0 ] === eventName && x [ 1 ] === eventHandler ) [ 0 ] ;
@@ -320,7 +336,10 @@ export abstract class DocumentStoreBase
320336 public registerEvents ( session : DocumentSession ) : void ;
321337 public registerEvents ( requestExecutorOrSession : RequestExecutor | DocumentSession ) : void {
322338 this . _eventHandlers . forEach ( ( [ eventName , eventHandler ] ) => {
323- if ( eventName === "failedRequest" || eventName === "topologyUpdated" ) {
339+ if ( eventName === "failedRequest"
340+ || eventName === "topologyUpdated"
341+ || eventName === "beforeRequest"
342+ || eventName === "succeedRequest" ) {
324343 ( requestExecutorOrSession as RequestExecutor ) . on ( eventName as any , eventHandler ) ;
325344 } else {
326345 ( requestExecutorOrSession as DocumentSession ) . on ( eventName , eventHandler ) ;
0 commit comments