🪛 Tweaks

This commit is contained in:
2021-06-27 15:24:42 -07:00
parent dd3033177b
commit d46c2aedbb
2 changed files with 42 additions and 85 deletions

View File

@@ -1,5 +1,10 @@
"use strict"; "use strict";
import {BrokerOptions, Errors, MetricRegistry, ServiceBroker} from "moleculer"; import {
BrokerOptions,
Errors,
MetricRegistry,
ServiceBroker,
} from "moleculer";
/** /**
* Moleculer ServiceBroker configuration file * Moleculer ServiceBroker configuration file
@@ -153,7 +158,7 @@ const brokerConfig: BrokerOptions = {
// Enable/disable built-in metrics function. More info: https://moleculer.services/docs/0.14/metrics.html // Enable/disable built-in metrics function. More info: https://moleculer.services/docs/0.14/metrics.html
metrics: { metrics: {
enabled: true, enabled: false,
// Available built-in reporters: "Console", "CSV", "Event", "Prometheus", "Datadog", "StatsD" // Available built-in reporters: "Console", "CSV", "Event", "Prometheus", "Datadog", "StatsD"
reporter: { reporter: {
type: "Console", type: "Console",
@@ -202,7 +207,6 @@ const brokerConfig: BrokerOptions = {
started: async (broker: ServiceBroker): Promise<void> => {}, started: async (broker: ServiceBroker): Promise<void> => {},
stopped: async (broker: ServiceBroker): Promise<void> => {}, stopped: async (broker: ServiceBroker): Promise<void> => {},
*/ */
}; };
export = brokerConfig; export = brokerConfig;

View File

@@ -3,7 +3,6 @@ import {Service, ServiceBroker, Context} from "moleculer";
import ApiGateway from "moleculer-web"; import ApiGateway from "moleculer-web";
export default class ApiService extends Service { export default class ApiService extends Service {
public constructor(broker: ServiceBroker) { public constructor(broker: ServiceBroker) {
super(broker); super(broker);
// @ts-ignore // @ts-ignore
@@ -12,59 +11,20 @@ export default class ApiService extends Service {
mixins: [ApiGateway], mixins: [ApiGateway],
// More info about settings: https://moleculer.services/docs/0.14/moleculer-web.html // More info about settings: https://moleculer.services/docs/0.14/moleculer-web.html
settings: { settings: {
port: process.env.PORT || 3000, port: process.env.PORT || 3080,
routes: [{ routes: [
{
path: "/api", path: "/api",
whitelist: [ whitelist: ["**"],
// Access to any actions in all services under "/api" URL
"**",
],
// Route-level Express middlewares. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Middlewares
use: [], use: [],
// Enable/disable parameter merging method. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Disable-merging
mergeParams: true, mergeParams: true,
// Enable authentication. Implement the logic into `authenticate` method. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Authentication
authentication: false, authentication: false,
// Enable authorization. Implement the logic into `authorize` method. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Authorization
authorization: false, authorization: false,
// The auto-alias feature allows you to declare your route alias directly in your services.
// The gateway will dynamically build the full routes from service schema.
autoAliases: true, autoAliases: true,
aliases: {}, aliases: {},
/**
* Before call hook. You can check the request.
* @param {Context} ctx
* @param {Object} route
* @param {IncomingMessage} req
* @param {ServerResponse} res
* @param {Object} data
onBeforeCall(ctx: Context<any,{userAgent: string}>,
route: object, req: IncomingMessage, res: ServerResponse) {
Set request headers to context meta
ctx.meta.userAgent = req.headers["user-agent"];
},
*/
/**
* After call hook. You can modify the data.
* @param {Context} ctx
* @param {Object} route
* @param {IncomingMessage} req
* @param {ServerResponse} res
* @param {Object} data
*
onAfterCall(ctx: Context, route: object, req: IncomingMessage, res: ServerResponse, data: object) {
// Async function which return with Promise
return doSomething(ctx, res, data);
},
*/
// Calling options. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Calling-options
callingOptions: {}, callingOptions: {},
bodyParsers: { bodyParsers: {
@@ -77,29 +37,24 @@ export default class ApiService extends Service {
limit: "1MB", limit: "1MB",
}, },
}, },
// Mapping policy setting. More info: https://moleculer.services/docs/0.14/moleculer-web.html#Mapping-policy
mappingPolicy: "all", // Available values: "all", "restrict" mappingPolicy: "all", // Available values: "all", "restrict"
// Enable/disable logging // Enable/disable logging
logging: true, logging: true,
}], },
],
// Do not log client side errors (does not log an error response when the error.code is 400<=X<500) // Do not log client side errors (does not log an error response when the error.code is 400<=X<500)
log4XXResponses: false, log4XXResponses: false,
// Logging the request parameters. Set to any log level to enable it. E.g. "info" // Logging the request parameters. Set to any log level to enable it. E.g. "info"
logRequestParams: null, logRequestParams: null,
// Logging the response data. Set to any log level to enable it. E.g. "info"
logResponseData: null, logResponseData: null,
// Serve assets from "public" folder
assets: { assets: {
folder: "public", folder: "public",
// Options to `server-static` module
options: {}, options: {},
}, },
}, },
methods: { methods: {
/** /**
* Authenticate the request. It checks the `Authorization` token value in the request header. * Authenticate the request. It checks the `Authorization` token value in the request header.
* Check the token value & resolve the user by the token. * Check the token value & resolve the user by the token.
@@ -141,7 +96,6 @@ export default class ApiService extends Service {
} }
}, },
*/ */
/** /**
* Authorize the request. Check that the authenticated user has right to access the resource. * Authorize the request. Check that the authenticated user has right to access the resource.
* *
@@ -168,7 +122,6 @@ export default class ApiService extends Service {
}, },
*/ */
}, },
}); });
} }
} }