@furystack/http-api
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -29,3 +29,3 @@ "use strict"; | ||
protocol: "http", | ||
logScope: "HTTP_API", | ||
logScope: "@furystack/http-api", | ||
}; | ||
@@ -61,6 +61,22 @@ class HttpApi { | ||
yield action.exec(incomingMessage, serverResponse, contextFactoryCached); | ||
this.loggers.trace(this.options.logScope, `Returned ${serverResponse.statusCode} from '${incomingMessage.url}'`); | ||
this.loggers.Verbose({ | ||
scope: this.options.logScope, | ||
message: `'${incomingMessage.url} => ${serverResponse.statusCode}'`, | ||
data: { | ||
request: { | ||
url: incomingMessage.url, | ||
methor: incomingMessage.method, | ||
}, | ||
response: { | ||
statusCode: serverResponse.statusCode, | ||
}, | ||
}, | ||
}); | ||
} | ||
catch (error) { | ||
this.loggers.error(this.options.logScope, error); | ||
this.loggers.Verbose({ | ||
scope: this.options.logScope, | ||
message: `Error while executing action '${action.constructor.name}'`, | ||
data: { error }, | ||
}); | ||
this.options.errorAction.returnError(incomingMessage, serverResponse, contextFactoryCached, error); | ||
@@ -67,0 +83,0 @@ } |
@@ -16,2 +16,3 @@ /// <reference types="node" /> | ||
export declare class IdentityService<TUser extends IUser = IUser> { | ||
static LogScope: string; | ||
readonly sessions: Map<string, number>; | ||
@@ -18,0 +19,0 @@ authenticateUser(userName: string, password: string): Promise<TUser>; |
@@ -90,2 +90,10 @@ "use strict"; | ||
serverResponse.setHeader("Set-Cookie", `${this.options.cookieName}=${sessionId}; Path=/; Secure; HttpOnly`); | ||
this.options.injector.GetInstance(core_1.LoggerCollection).Verbose({ | ||
scope: IdentityService.LogScope, | ||
message: `User '${user.Username}' logged in with '${service.name}' external service.`, | ||
data: { | ||
user, | ||
sessionId, | ||
}, | ||
}); | ||
return user; | ||
@@ -96,3 +104,7 @@ } | ||
/** */ | ||
this.options.injector.GetInstance(core_1.LoggerCollection).error("IdentityService", `Error during external login with '${service.name}': ${error.message}`, error); | ||
this.options.injector.GetInstance(core_1.LoggerCollection).Error({ | ||
scope: IdentityService.LogScope, | ||
message: `Error during external login with '${service.name}': ${error.message}`, | ||
data: { error }, | ||
}); | ||
} | ||
@@ -106,4 +118,13 @@ return core_1.visitorUser; | ||
if (sessionId) { | ||
const user = yield this.authenticateRequest(req); | ||
this.sessions.delete(sessionId); | ||
serverResponse.setHeader("Set-Cookie", `${this.options.cookieName}=; Path=/; Secure; HttpOnly`); | ||
this.options.injector.GetInstance(core_1.LoggerCollection).Verbose({ | ||
scope: IdentityService.LogScope, | ||
message: `User '${user.Username}' has been logged out.`, | ||
data: { | ||
user, | ||
sessionId, | ||
}, | ||
}); | ||
} | ||
@@ -113,3 +134,4 @@ }); | ||
} | ||
IdentityService.LogScope = "@furystack/http-api/IdentityService"; | ||
exports.IdentityService = IdentityService; | ||
//# sourceMappingURL=IdentityService.js.map |
{ | ||
"name": "@furystack/http-api", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "HTTP Api FuryStack package", | ||
@@ -58,5 +58,5 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@furystack/core": "^0.2.1", | ||
"@sensenet/client-utils": "^1.1.0", | ||
"@types/node": "^10.12.0", | ||
"@furystack/core": "^0.3.0", | ||
"@sensenet/client-utils": "^1.2.0", | ||
"@types/node": "^10.12.2", | ||
"hash.js": "^1.1.5", | ||
@@ -66,3 +66,3 @@ "uuid": "^3.3.2" | ||
"devDependencies": { | ||
"@types/chai": "^4.1.6", | ||
"@types/chai": "^4.1.7", | ||
"@types/mocha": "^5.2.5", | ||
@@ -75,3 +75,3 @@ "@types/uuid": "^3.4.4", | ||
"tslint": "^5.11.0", | ||
"typescript": "^3.1.3" | ||
"typescript": "^3.1.6" | ||
}, | ||
@@ -78,0 +78,0 @@ "config": { |
@@ -35,3 +35,3 @@ import { IApi, InMemoryStore, IUser, LoggerCollection } from "@furystack/core"; | ||
protocol: "http", | ||
logScope: "HTTP_API", | ||
logScope: "@furystack/http-api", | ||
}; | ||
@@ -62,5 +62,21 @@ | ||
await action.exec(incomingMessage, serverResponse, contextFactoryCached); | ||
this.loggers.trace(this.options.logScope, `Returned ${serverResponse.statusCode} from '${incomingMessage.url}'`); | ||
this.loggers.Verbose({ | ||
scope: this.options.logScope, | ||
message: `'${incomingMessage.url} => ${serverResponse.statusCode}'`, | ||
data: { | ||
request: { | ||
url: incomingMessage.url, | ||
methor: incomingMessage.method, | ||
}, | ||
response: { | ||
statusCode: serverResponse.statusCode, | ||
}, | ||
}, | ||
}); | ||
} catch (error) { | ||
this.loggers.error(this.options.logScope, error); | ||
this.loggers.Verbose({ | ||
scope: this.options.logScope, | ||
message: `Error while executing action '${action.constructor.name}'`, | ||
data: {error}, | ||
}); | ||
this.options.errorAction.returnError(incomingMessage, serverResponse, contextFactoryCached, error); | ||
@@ -67,0 +83,0 @@ } |
@@ -17,2 +17,5 @@ import { Constructable, InMemoryStore, IPhysicalStore, IUser, LoggerCollection, visitorUser } from "@furystack/core"; | ||
export class IdentityService<TUser extends IUser = IUser> { | ||
public static LogScope = "@furystack/http-api/IdentityService"; | ||
public readonly sessions: Map<string, number> = new Map(); | ||
@@ -82,2 +85,10 @@ public async authenticateUser(userName: string, password: string): Promise<TUser> { | ||
serverResponse.setHeader("Set-Cookie", `${this.options.cookieName}=${sessionId}; Path=/; Secure; HttpOnly`); | ||
this.options.injector.GetInstance(LoggerCollection).Verbose({ | ||
scope: IdentityService.LogScope, | ||
message: `User '${user.Username}' logged in with '${service.name}' external service.`, | ||
data: { | ||
user, | ||
sessionId, | ||
}, | ||
}); | ||
return user; | ||
@@ -87,3 +98,7 @@ } | ||
/** */ | ||
this.options.injector.GetInstance(LoggerCollection).error("IdentityService", `Error during external login with '${service.name}': ${error.message}`, error); | ||
this.options.injector.GetInstance(LoggerCollection).Error({ | ||
scope: IdentityService.LogScope, | ||
message: `Error during external login with '${service.name}': ${error.message}`, | ||
data: {error}, | ||
}); | ||
} | ||
@@ -96,4 +111,13 @@ return visitorUser as TUser; | ||
if (sessionId) { | ||
const user = await this.authenticateRequest(req); | ||
this.sessions.delete(sessionId); | ||
serverResponse.setHeader("Set-Cookie", `${this.options.cookieName}=; Path=/; Secure; HttpOnly`); | ||
this.options.injector.GetInstance(LoggerCollection).Verbose({ | ||
scope: IdentityService.LogScope, | ||
message: `User '${user.Username}' has been logged out.`, | ||
data: { | ||
user, | ||
sessionId, | ||
}, | ||
}); | ||
} | ||
@@ -100,0 +124,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
120809
1721
+ Added@furystack/core@0.3.3(transitive)
- Removed@furystack/core@0.2.3(transitive)
Updated@furystack/core@^0.3.0
Updated@types/node@^10.12.2