Comments (9)
Ah, meddleware has already created the middleware so it won't respect that spec setting anyway. I'm not sure how to do this now.
from meddleware.
Ok, I made it work in the config callback.
function onconfig(config, next) {
var sessconfig = config.get('middleware:session:arguments')[0];
sessconfig.store = new PostgresStore(sessconfig);
next(null, config);
}
However, this is pretty ugly. It seems to me that setting a custom Store for sessions is common enough that a case could be made to add a special setting for the store module.
from meddleware.
hey @timmywil the way you can override is in your app's config.json, you can override the middleware set by kraken by doing,
{
"middleware":
{
"session": {
"enabled": true,
"priority": 100,
"module": "<your module>",
"arguments": [
//<your module arguments>
]
}
}
}
from meddleware.
Well, I'm not trying to set a custom middleware. The "module" property for sessions had a different meaning in the previous version of kraken. I am setting the module used to create session store instances, but I'm still using express for sessions.
from meddleware.
gotcha! onConfig is one way to do it. The other way is adding it into config using short stop handlers and require/exec the module that you want to use. But what i am not sure will work , is the need to feed in those arguments into your PostgresStore implementation. Can you point me to the location of this file on github
var PostgresStore = require('./lib/postgres-sessions');
I can verify if shortstop handlers can be made to work.
from meddleware.
or you can look it up here.
https://github.com/krakenjs/shortstop
https://github.com/krakenjs/shortstop-handlers
from meddleware.
Hey @timmywil,
One approach would be to create a small custom middleware implementation:
// lib/middleware/postgres-session.js
var session = require('express-session');
var PostgresStore = require('./postgres-store');
module.exports = function postgres(settings, postgresConfig) {
settings.store = new PostgresStore(postgresConfig);
return session(settings);
};
{
"middleware": {
"session": {
"enabled": true,
"priority": 100,
"module": "path:./lib/middleware/postgres-session",
"arguments": [
{
"cookie": {
"secret": "abc123",
"secure": true,
"store": null
}
},
{
/* postgres config */
}
]
}
}
}
from meddleware.
@totherik Thanks! That's much less ugly than what I was doing.
from meddleware.
Glad I could help!
from meddleware.
Related Issues (20)
- Route on middleware not working HOT 6
- Backport route regex support for v1.x?
- Events not fired properly HOT 5
- normalize the config `module` property
- add array support for the `route` property HOT 1
- `mountpath` isn't always a string HOT 4
- Enabled toggle in flow controlled sections changed HOT 3
- `util#mapValues` `prop.name` won't ever exist
- `module.name` is not required? HOT 1
- Meddleware 4.0 not working as expected HOT 9
- Passing object to middleware HOT 1
- Can we support async middleware factories? HOT 5
- Register middleware based on HTTP method HOT 3
- Deprecate RQ for parallelism HOT 1
- Why is the configuration an object instead of an array of objects?
- edge case bug in the local path resolver HOT 1
- npm5 issue HOT 1
- How can I have an environment-controllable value that defaults to true? HOT 3
- meddleware broken with config v.3.0
- if modulePath is undefined, the require might resolve relative path from config wrongly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meddleware.