Slumber86 / express-oracle-session

An Oracle session store for express
MIT License
1 stars 10 forks source link

Error: Failed to parse data for session: U8vEpeRt0jI-Ytic3nCmmvEagF7rxmEJ #4

Closed adube3 closed 3 years ago

adube3 commented 7 years ago

For the first time, when there is no session, it is working correctly. However, I am Getting following error during second request for the same REST API

Error: Failed to parse data for session: U8vEpeRt0jI-Ytic3nCmmvEagF7rxmEJ at C:\project\proj1\node_modules\express-oracle-session\lib\index.js:160:15 at custExecuteCb (C:\project\proj1\node_modules\oracledb\lib\connection.js:117:5)

Code is mentioned below

`var session = require('express-session'); var oracleDbStore = require('express-oracle-session')(session); var sessionStoreOptions = { checkExpirationInterval: 900000,// How frequently expired sessions will be cleared; milliseconds. Here 15 minutes. expiration: 1800000,// The maximum age of a valid session; milliseconds. Here 30 minutes. createDatabaseTable: true,// Whether or not to create the sessions database table, if one does not already exist. connectionLimit: 1 }; var sessionStore = new oracleDbStore(sessionStoreOptions, connection);

app.use(session({
    key: 'sessionID',
    secret: 'secret',
    store: sessionStore,
    resave: false,
    saveUninitialized: true
}));`

I tried to debug and found that in the index.js (inside lib) at line number 155, 'JSON.parse(result.rows[0][0])' is done. Instead it should be 'JSON.parse(result.rows[0].data)'.

Code from index.js (present in lib) is as follows `try { //debug_log('Session result: ' + result.rows[0]); var session = result.rows[0] !== undefined ? JSON.parse(result.rows[0][0]) : null; //debug_log('Session return: ' + session);

        } catch (error) {
            debug_error(error);
            return cb(new Error('Failed to parse data for session: ' + session_id));
        }`