System Information
-
Strapi Version : 3.6.2
-
Operating System: Windows 10
-
Node Version: v14
Hi,
If you have a Strapi plugin and that plugin defines a middleware inside of it. Can I reference that middleware in the load
order array?
Example. I have a plugin called custom-plugin
with a middleware inside of it. Can I reference it from this configuration:
load: {
before: [
'boom',
'responseTime',
'logger',
'cors',
'custom-plugin::middleware-inside', <<<<<<<<<------------ IS SOMETHING SIMILAR TO THIS POSSIBLE?
'responses',
'gzip',
],
order: [
"Define the middlewares' load order by putting their name in this array is the right order",
],
after: ['parser', 'router'],
},
Thank you
This is a great question, one that I’ve actually hit myself while working on prototypes.
From what I understand it’s not natively allowed to modify that specific array in that same structure from within the plugin but you can use the unshift and push methods.
For example I was writing an example plugin to kinda handle audit-logging and you can see here where I was pushing that plugin to the beginning of the array:
I don’t want to modify the order from within the plugin. The plugin itself merely declares a middleware.
I am wondering if the configuration in the actual Strapi project using that plugin (namely the middleware.js
) can actually reference the middleware inside that plugin as I show in my example code?
Although perhaps I can use the same technique from the hosting Strapi project inside of the bootstrap
function!
Middlewares don’t have a plugin prefix they just have names, those names do need to be unique, I’m not aware of a way to override an existing middleware with one from a plugin (though it might be possible, I’ve just never seen it done)