import sirv from 'sirv';
import express from 'express';
import compression from 'compression';
import * as sapper from '@sapper/server';
import bodyParser from 'body-parser'
import cookieParser from 'cookie-parser'
import admin from './firebase'
console.log('imports done')
const { PORT, NODE_ENV } = process.env;
const dev = NODE_ENV === 'development';
const app = express() // You can also use Express
.use(
compression({ threshold: 0 }),
sirv('static', { dev }),
cookieParser(),
bodyParser.json(),
(req, res, next) => {
const sessionCookie = req.cookies["__session"] || '';
// Verify the session cookie. In this case an additional check is added to detect
// if the user's Firebase session was revoked, user deleted/disabled, etc.
admin.auth().verifySessionCookie(
sessionCookie, true /** checkRevoked */)
.then((decodedClaims) => {
//serveContentForUser('/profile', req, res, decodedClaims);
console.log(decodedClaims)
res.currentUser = { displayName: decodedClaims.name }
next()
})
.catch(error => {
// Session cookie is unavailable or invalid. Force user to login.
//res.redirect('/login');
console.log(error)
res.clearCookie('__session');
res.currentUser = null
next()
});
},
sapper.middleware({
session: (req, res) => ({
currentUser: res.currentUser
})
})
)
console.log('PORT is', PORT)
app.listen(PORT, err => {
if (err) console.log('error', err);
})
export default app.handler
And in my serverless functions:
[GET] /favicon.ico
23:24:49:48
imports done
PORT is 3000
2020-05-11T06:24:49.935Z undefined ERROR Server is not listening TypeError: Cannot read property 'default' of undefined
at Object.<anonymous> (/var/task/launcher.js:22:16)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at _tryRequire (/var/runtime/UserFunction.js:75:12)
at _loadUserApp (/var/runtime/UserFunction.js:95:12)
at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)
RequestId: 47c128e2-232d-4e53-a8ce-543fb63f99d1 Error: Runtime exited with error: exit status 1
Runtime.ExitError
I copied my project files into the now-sapper demo project, and while it runs locally and builds on deploy, I get the 502 error.
502: BAD_GATEWAY Code: NO_STATUS_CODE_FROM_FUNCTION
This is my server.js file:
And in my serverless functions: