Browse Source

Fix serverless (#1408)

* Fix serverless

* Disable debug
kiloreux 6 years ago
parent
commit
bf0c3c52e8

+ 15 - 2
packages/@uppy/companion/examples/serverless/index.js

@@ -3,6 +3,7 @@
 const express = require('express')
 const bodyParser = require('body-parser')
 const cors = require('cors')
+const session = require('express-session')
 const compression = require('compression')
 const awsServerlessExpress = require('aws-serverless-express')
 const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware')
@@ -12,8 +13,13 @@ const app = express()
 
 app.use(compression())
 app.use(cors())
+app.use(session({
+  secret: process.env.SESSION_SECRET,
+  resave: true,
+  saveUninitialized: true
+}))
 app.use(bodyParser.json())
-app.use(bodyParser.urlencoded({ extended: true }))
+app.use(bodyParser.urlencoded({ extended: false }))
 app.use(awsServerlessExpressMiddleware.eventContext())
 
 const host = process.env.DOMAIN.split('://')[1]
@@ -42,11 +48,18 @@ const options = {
   server: {
     host: host,
     protocol: protocol
-  }
+  },
+  filePath: '/tmp',
+  secret: process.env.UPPY_SECRET
 }
 
 app.use(uppy.app(options))
 
+app.get('/', (req, res) => {
+  res.setHeader('Content-Type', 'text/plain')
+  res.send("Hello there, here's a response from companion")
+})
+
 const server = awsServerlessExpress.createServer(app)
 
 exports.uppy = (event, context) =>

+ 10 - 6
packages/@uppy/companion/examples/serverless/package.json

@@ -2,11 +2,15 @@
   "name": "uploader",
   "version": "1.0.0",
   "dependencies": {
-    "aws-serverless-express": "^3.1.3",
-    "body-parser": "^1.18.2",
-    "compression": "^1.7.2",
-    "cors": "^2.8.4",
-    "express": "^4.16.3",
-    "@uppy/companion": "^0.11.2"
+    "@uppy/companion": "^0.17.3",
+    "aws-serverless-express": "^3.3.6",
+    "body-parser": "^1.18.3",
+    "compression": "^1.7.4",
+    "cors": "^2.8.5",
+    "express": "^4.16.4",
+    "express-session": "^1.15.6"
+  },
+  "devDependencies": {
+    "serverless-offline": "^4.9.3"
   }
 }

+ 9 - 2
packages/@uppy/companion/examples/serverless/serverless.yml

@@ -2,7 +2,7 @@ service: uppyloader
 
 provider:
   name: aws
-  runtime: nodejs6.10
+  runtime: nodejs8.10
 
   environment:
     # NOTE: Make sure you set this to the url of your service endpoint
@@ -14,6 +14,10 @@ provider:
     AWS_S3_BUCKET: <YOUR_AWS_S3_BUCKET_NAME>
     AWS_S3_REGION: <YOUR_AWS_S3_BUCKET_REGION>
 
+    SESSION_SECRET: <YOUR_SESSION_SECRET>
+
+    UPPY_SECRET: <YOUR_UPPY_SECRET>
+
     # INSTAGRAM_KEY: <YOUR_INSTAGRAM_KEY>
     # INSTAGRAM_SECRET: <YOUR_INSTAGRAM_SECRET>
 
@@ -25,8 +29,11 @@ provider:
 
 functions:
   uppy:
-    handler: handler.uppy
+    handler: index.uppy
 
     events:
       - http: ANY /
       - http: 'ANY {proxy+}'
+
+plugins:
+  - serverless-offline