Skip to content

Commit 6abda7f

Browse files
committed
Access session in request/response interceptors
1 parent 253ca13 commit 6abda7f

File tree

7 files changed

+14
-8
lines changed

7 files changed

+14
-8
lines changed

dist/Event/RequestEvent.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import { Session } from '../Session/Session';
12
import { ResponseAwareEvent } from './ResponseAwareEvent';
23
import { Request } from '../Request/Request';
34
import { IRoute } from '../Router/Router';
45
export declare class RequestEvent extends ResponseAwareEvent {
56
readonly request: Request;
67
readonly route: IRoute;
7-
constructor(request: Request, route: IRoute);
8+
readonly session?: Session;
9+
constructor(request: Request, route: IRoute, session?: Session);
810
}

dist/Event/ResponseEvent.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { Request } from '../Request/Request';
22
import { Response } from '../Response/Response';
33
import { IRoute } from '../Router/Router';
4+
import { Session } from '../Session/Session';
45
export declare class ResponseEvent {
56
readonly request: Request;
67
readonly route: IRoute;
78
readonly response: Response;
8-
constructor(request: Request, route: IRoute, response: Response);
9+
readonly session?: Session;
10+
constructor(request: Request, route: IRoute, response: Response, session?: Session);
911
}

dist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@byteshift/harmony",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "A component based HTTP server micro-framework",
55
"author": "Harold Iedema <[email protected]>",
66
"devDependencies": {

src/Event/RequestEvent.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
*/
77
'use strict';
88

9+
import {Session} from '../Session/Session';
910
import {ResponseAwareEvent} from './ResponseAwareEvent';
1011
import {Request} from '../Request/Request';
1112
import {IRoute} from '../Router/Router';
1213

1314
export class RequestEvent extends ResponseAwareEvent
1415
{
15-
public constructor(public readonly request: Request, public readonly route: IRoute)
16+
public constructor(public readonly request: Request, public readonly route: IRoute, public readonly session?: Session)
1617
{
1718
super();
1819
}

src/Event/ResponseEvent.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
import {Request} from '../Request/Request';
1010
import {Response} from '../Response/Response';
1111
import {IRoute} from '../Router/Router';
12+
import {Session} from '../Session/Session';
1213

1314
export class ResponseEvent
1415
{
15-
public constructor(public readonly request: Request, public readonly route: IRoute, public readonly response: Response)
16+
public constructor(public readonly request: Request, public readonly route: IRoute, public readonly response: Response, public readonly session?: Session)
1617
{
1718
}
1819
}

src/Harmony.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ export class Harmony
281281
// for incoming requests before the controller method is fired.
282282
// This would allow firewall type of functionality to exist, or
283283
// generic services that serve static content.
284-
const requestEvent = new RequestEvent(request, route);
284+
const requestEvent = new RequestEvent(request, route, this.sessionManager.getSessionByRequest(request));
285285

286286
let stopPropagation = false,
287287
response;
@@ -327,7 +327,7 @@ export class Harmony
327327
// Fire the 'response' event to allow external services to modify
328328
// the returned response. For example, setting specific cookies or
329329
// other headers.
330-
const responseEvent = new ResponseEvent(request, route, response);
330+
const responseEvent = new ResponseEvent(request, route, response, this.sessionManager.getSessionByRequest(request));
331331
for (let listener of this.responseEventListeners) {
332332
if (false === listener.callback(responseEvent)) {
333333
break;

0 commit comments

Comments
 (0)