diff --git a/package.json b/package.json index 77b223c..086ae4f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hapiness/core", - "version": "1.5.2", + "version": "1.5.3", "description": "Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features", "main": "commonjs/index.js", "types": "index.d.ts", diff --git a/src/extensions/http-server/lifecycle.ts b/src/extensions/http-server/lifecycle.ts index 51a8701..9ce8b27 100644 --- a/src/extensions/http-server/lifecycle.ts +++ b/src/extensions/http-server/lifecycle.ts @@ -17,17 +17,17 @@ export class LifecycleManager { static routeLifecycle(server: Server, routes: CoreRoute[]): void { server.ext(LifecycleEventsEnum.OnPreAuth.toString(), - (request: Request, reply: ReplyWithContinue) => - this.instantiateRoute(routes, request, reply) - .subscribe( - _ => reply.continue(), - _ => errorHandler(_) - ) + (request: Request, reply: ReplyWithContinue) => + this.eventHandler(LifecycleHooksEnum.OnPreAuth, routes, request, reply) + .subscribe( + _ => reply.continue(), + _ => errorHandler(_) + ) ); server.ext(LifecycleEventsEnum.OnPostAuth.toString(), (request: Request, reply: ReplyWithContinue) => - this.eventHandler(LifecycleHooksEnum.OnPostAuth, routes, request, reply) + this.instantiateRoute(routes, request, reply) .subscribe( _ => reply.continue(), _ => errorHandler(_) @@ -84,7 +84,7 @@ export class LifecycleManager { ) .do(_ => request['_hapinessRoute'] = _.instance) .defaultIfEmpty(null) - .flatMap(_ => this.eventHandler(LifecycleHooksEnum.OnPreAuth, routes, request, reply)) + .flatMap(_ => this.eventHandler(LifecycleHooksEnum.OnPostAuth, routes, request, reply)) } /** diff --git a/src/extensions/http-server/route.ts b/src/extensions/http-server/route.ts index bcb6cfa..e75f19a 100644 --- a/src/extensions/http-server/route.ts +++ b/src/extensions/http-server/route.ts @@ -12,7 +12,14 @@ interface InternalType { token: Type; } -export class HttpRequestInfo {} +export class HttpRequestInfo { + query: {[key: string]: any}; + params: {[key: string]: string}; + headers: {[key: string]: string}; + payload: any; + credentials: {[key: string]: any}; + id: string; +} export class RouteBuilder { @@ -54,6 +61,7 @@ export class RouteBuilder { params: Object.assign({}, request.params), headers: Object.assign({}, request.headers), payload: Object.assign({}, request.payload), + credentials: Object.assign({}, request.auth.credentials), id: request.id })) .map(_ => ({ provide: HttpRequestInfo, useValue: _ })) diff --git a/test/integration/core.test.ts b/test/integration/core.test.ts index 61f5399..4b655f2 100644 --- a/test/integration/core.test.ts +++ b/test/integration/core.test.ts @@ -1,7 +1,7 @@ import { suite, test } from 'mocha-typescript'; import { Hapiness, HapinessModule, OnStart, OnRegister, Lib, Injectable, ExtensionShutdownPriority } from '../../src/core'; import * as unit from 'unit.js'; -import { Observable } from 'rxjs'; +import { Observable } from 'rxjs/Observable'; @suite('Integration - Core') export class ModuleTestSuite {