@appolo/agent
Advanced tools
Comparing version 8.0.2 to 8.0.3
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createAgent = exports.Hooks = exports.Methods = exports.Events = exports.Response = exports.Request = exports.NotFoundError = exports.UnauthorizedError = exports.InternalServerError = exports.BadRequestError = exports.HttpError = exports.Agent = void 0; | ||
exports.createAgent = exports.Hooks = exports.Methods = exports.Response = exports.Request = exports.NotFoundError = exports.UnauthorizedError = exports.InternalServerError = exports.BadRequestError = exports.HttpError = exports.Agent = void 0; | ||
const agent_1 = require("./lib/agent"); | ||
@@ -21,4 +21,2 @@ var agent_2 = require("./lib/agent"); | ||
Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return response_1.Response; } }); | ||
var events_1 = require("./lib/events"); | ||
Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return events_1.Events; } }); | ||
var router_1 = require("@appolo/router"); | ||
@@ -25,0 +23,0 @@ Object.defineProperty(exports, "Methods", { enumerable: true, get: function () { return router_1.Methods; } }); |
@@ -17,3 +17,2 @@ import {IOptions} from "./lib/IOptions"; | ||
export {IResponse, Response} from './lib/response'; | ||
export {Events} from './lib/events'; | ||
export {Methods} from '@appolo/router'; | ||
@@ -20,0 +19,0 @@ export {IOptions} from "./lib/IOptions"; |
@@ -5,2 +5,3 @@ "use strict"; | ||
const router_1 = require("@appolo/router"); | ||
const events_1 = require("@appolo/events"); | ||
const utils_1 = require("@appolo/utils"); | ||
@@ -11,4 +12,2 @@ const util_1 = require("./util"); | ||
const middleware_1 = require("./middleware"); | ||
const events_1 = require("@appolo/events"); | ||
const events_2 = require("./events"); | ||
const defaults_1 = require("./defaults"); | ||
@@ -19,5 +18,4 @@ const http = require("http"); | ||
const response_1 = require("./response"); | ||
class Agent extends events_1.EventDispatcher { | ||
class Agent { | ||
constructor(options) { | ||
super(); | ||
this._hooks = {}; | ||
@@ -56,2 +54,4 @@ this._isInitialized = false; | ||
}; | ||
this.eventRouteAdded = new events_1.Event(); | ||
this.eventServerClosed = new events_1.Event(); | ||
this._options = utils_1.Objects.defaults(options || {}, defaults_1.Defaults); | ||
@@ -76,5 +76,2 @@ this._qsParse = this._options.qsParser || querystring.parse; | ||
} | ||
if (this.options.fireRequestEvents) { | ||
this._middlewares.push(middleware_1.fireEventMiddleware); | ||
} | ||
this._middlewaresError.push(middleware_1.errorMiddleware); | ||
@@ -159,3 +156,7 @@ this._middlewaresNotFound = [...this._middlewares, middleware_1.notFoundMiddleware]; | ||
} | ||
this._requestApp.fireEvent(events_2.Events.RouteAdded, method, path, dto); | ||
this._requestApp.eventRouteAdded.fireEvent({ | ||
method: method, | ||
path, | ||
handler: dto | ||
}); | ||
return this; | ||
@@ -216,3 +217,3 @@ } | ||
await utils_1.Promises.fromCallback(c => this._server.close(c)); | ||
this._requestApp.fireEvent(events_2.Events.ServerClosed); | ||
this._requestApp.eventServerClosed.fireEvent(); | ||
} | ||
@@ -231,8 +232,2 @@ catch (e) { | ||
} | ||
on(event, fn, scope, options) { | ||
return super.on(event.toString(), fn, scope, options); | ||
} | ||
once(event, fn, scope) { | ||
return super.once(event.toString(), fn, scope); | ||
} | ||
decorate(fn) { | ||
@@ -239,0 +234,0 @@ fn(http.IncomingMessage.prototype, http.ServerResponse.prototype, this._requestApp.constructor.prototype); |
import {IOptions} from "./IOptions"; | ||
import {Methods, Router} from '@appolo/router'; | ||
import {IRequest} from "./request"; | ||
import {IEvent, Event} from "@appolo/events"; | ||
import {Arrays, Enums, Promises, Objects} from "@appolo/utils"; | ||
@@ -17,3 +18,2 @@ import {Util} from "./util"; | ||
errorMiddleware, | ||
fireEventMiddleware, | ||
handleMiddleware, | ||
@@ -24,4 +24,3 @@ handleMiddlewareError, | ||
import {EventDispatcher, IEventOptions} from "@appolo/events"; | ||
import {IApp} from "./IApp"; | ||
import {Events} from "./events"; | ||
import {IApp, RouteAddedEvent} from "./IApp"; | ||
import {Defaults} from "./defaults"; | ||
@@ -34,3 +33,3 @@ import http = require('http'); | ||
export class Agent extends EventDispatcher implements IApp { | ||
export class Agent implements IApp { | ||
@@ -54,4 +53,2 @@ private _middlewares: MiddlewareHandlerOrAny[]; | ||
super(); | ||
this._options = Objects.defaults(options || {}, Defaults); | ||
@@ -85,5 +82,2 @@ | ||
if (this.options.fireRequestEvents) { | ||
this._middlewares.push(fireEventMiddleware) | ||
} | ||
@@ -243,3 +237,7 @@ this._middlewaresError.push(errorMiddleware); | ||
this._requestApp.fireEvent(Events.RouteAdded, method, path, dto); | ||
(this._requestApp.eventRouteAdded as Event<RouteAddedEvent>).fireEvent({ | ||
method: method as Methods, | ||
path, | ||
handler: dto | ||
}); | ||
return this; | ||
@@ -316,3 +314,3 @@ } | ||
await Promises.fromCallback(c => this._server.close(c)); | ||
this._requestApp.fireEvent(Events.ServerClosed); | ||
(this._requestApp.eventServerClosed as Event<void>).fireEvent(); | ||
@@ -336,10 +334,5 @@ } catch (e) { | ||
public on(event: Events | string, fn: (...args: any[]) => any, scope?: any, options?: IEventOptions): void { | ||
return super.on(event.toString(), fn, scope, options) | ||
} | ||
public readonly eventRouteAdded: IEvent<RouteAddedEvent> = new Event(); | ||
public readonly eventServerClosed: IEvent<void> = new Event(); | ||
public once(event: Events | string, fn?: (...args: any[]) => any, scope?: any): Promise<any> | void { | ||
return super.once(event.toString(), fn, scope); | ||
} | ||
public decorate(fn: (req: http.IncomingMessage, res: http.ServerResponse, app: IApp) => void) { | ||
@@ -346,0 +339,0 @@ fn(http.IncomingMessage.prototype, http.ServerResponse.prototype, this._requestApp.constructor.prototype) |
@@ -6,3 +6,2 @@ "use strict"; | ||
errorStack: false, | ||
fireRequestEvents: false, | ||
trustProxy: true, | ||
@@ -9,0 +8,0 @@ errorMessage: true, |
@@ -5,3 +5,2 @@ import {IOptions} from "./IOptions"; | ||
errorStack: false, | ||
fireRequestEvents:false, | ||
trustProxy:true, | ||
@@ -8,0 +7,0 @@ errorMessage: true, |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Events = void 0; | ||
var Events; | ||
(function (Events) { | ||
Events["RouteAdded"] = "routeAdded"; | ||
Events["ServerClosed"] = "serverClosed"; | ||
Events["RequestInit"] = "requestInit"; | ||
Events["ResponseSend"] = "ResponseSend"; | ||
})(Events = exports.Events || (exports.Events = {})); | ||
// export enum Events { | ||
// RouteAdded = "routeAdded", | ||
// ServerClosed = "serverClosed", | ||
// RequestInit = "requestInit", | ||
// ResponseSend = "ResponseSend", | ||
// } | ||
//# sourceMappingURL=events.js.map |
@@ -1,6 +0,6 @@ | ||
export enum Events { | ||
RouteAdded = "routeAdded", | ||
ServerClosed = "serverClosed", | ||
RequestInit = "requestInit", | ||
ResponseSend = "ResponseSend", | ||
} | ||
// export enum Events { | ||
// RouteAdded = "routeAdded", | ||
// ServerClosed = "serverClosed", | ||
// RequestInit = "requestInit", | ||
// ResponseSend = "ResponseSend", | ||
// } |
@@ -1,6 +0,14 @@ | ||
import {IEventDispatcher} from "@appolo/events"; | ||
import {IOptions} from "./IOptions"; | ||
import {IEvent} from "@appolo/events"; | ||
import {Methods} from "@appolo/router/index"; | ||
import {IRouteHandler} from "./types"; | ||
import {IRequest} from "./request"; | ||
import {IResponse} from "./response"; | ||
export interface IApp extends IEventDispatcher { | ||
export type RouteAddedEvent = { method: Methods, path: string, handler: IRouteHandler } | ||
export interface IApp { | ||
options: IOptions | ||
readonly eventRouteAdded: IEvent<RouteAddedEvent> | ||
readonly eventServerClosed: IEvent<void> | ||
} |
@@ -11,3 +11,2 @@ export interface IOptions{ | ||
trustProxy?:boolean | ||
fireRequestEvents?:boolean | ||
ssl?: { | ||
@@ -14,0 +13,0 @@ key: string |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fireEventMiddleware = exports.errorMiddleware = exports.notFoundMiddleware = exports.handleMiddlewareError = exports.handleMiddleware = void 0; | ||
exports.errorMiddleware = exports.notFoundMiddleware = exports.handleMiddlewareError = exports.handleMiddleware = void 0; | ||
const httpError_1 = require("./errors/httpError"); | ||
const errorHandler_1 = require("./errorHandler"); | ||
const events_1 = require("./events"); | ||
const internalServerError_1 = require("./errors/internalServerError"); | ||
@@ -80,7 +79,2 @@ function handleMiddleware(req, res, middlewares, errorsMiddleware, num = 0, err, data) { | ||
exports.errorMiddleware = errorMiddleware; | ||
function fireEventMiddleware(req, res, next) { | ||
req.app.fireEvent(events_1.Events.RequestInit, req, res); | ||
next(); | ||
} | ||
exports.fireEventMiddleware = fireEventMiddleware; | ||
//# sourceMappingURL=middleware.js.map |
@@ -6,4 +6,4 @@ import {IResponse} from "./response"; | ||
import {ErrorHandler} from "./errorHandler"; | ||
import {Events} from "./events"; | ||
import {InternalServerError} from "./errors/internalServerError"; | ||
import {Event} from "@appolo/events"; | ||
@@ -107,6 +107,2 @@ | ||
export function fireEventMiddleware(req: IRequest, res: IResponse, next: NextFn) { | ||
req.app.fireEvent(Events.RequestInit, req, res); | ||
next(); | ||
} | ||
@@ -30,3 +30,3 @@ { | ||
"main": "./index.js", | ||
"version": "8.0.2", | ||
"version": "8.0.3", | ||
"license": "MIT", | ||
@@ -40,4 +40,4 @@ "repository": { | ||
"dependencies": { | ||
"@appolo/events": "^8.0.0", | ||
"@appolo/router": "^8.0.1", | ||
"@appolo/events": "^8.0.1", | ||
"@appolo/router": "^8.0.2", | ||
"@appolo/utils": "^8.0.0", | ||
@@ -44,0 +44,0 @@ "mime": "^2.4.6", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
113150
1939
Updated@appolo/events@^8.0.1
Updated@appolo/router@^8.0.2