Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d7efde3

Browse files
simply code
1 parent 654d25f commit d7efde3

File tree

5 files changed

+47
-53
lines changed

5 files changed

+47
-53
lines changed

‎functions/aws-serverless-express.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import cors from 'cors'
44
import morgan from 'morgan'
55
import bodyParser from 'body-parser'
66
import compression from 'compression'
7+
import awsServerlessExpressMiddleware from 'aws-serverless-express/middleware'
78
import customLogger from './utils/logger'
89

910
const app = express()
@@ -24,7 +25,6 @@ router.get('/users', (req, res) => {
2425
})
2526

2627
router.get('/', (req, res) => {
27-
console.log('home route hit')
2828
const html = `
2929
<html>
3030
<head>
@@ -51,6 +51,7 @@ app.use('/.netlify/functions/aws-serverless-express/', router)
5151
router.use(cors())
5252
router.use(bodyParser.json())
5353
router.use(bodyParser.urlencoded({ extended: true }))
54+
router.use(awsServerlessExpressMiddleware.eventContext())
5455

5556
const binaryMimeTypes = [
5657
'application/javascript',

‎functions/aws-serverless.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import express from 'express'
2+
import awsServerlessExpress from 'aws-serverless-express'
3+
import binaryMimeTypes from './utils/binaryMimeTypes'
4+
import expressApp from './app'
5+
6+
// We need to define our function name for
7+
const functionName = 'aws-serverless'
8+
console.log('__filename', __filename)
9+
const app = expressApp(functionName)
10+
11+
const server = awsServerlessExpress.createServer(app, null, binaryMimeTypes)
12+
13+
exports.handler = (event, context) => {
14+
return awsServerlessExpress.proxy(server, event, context)
15+
}

‎functions/serverless-http.js

Lines changed: 5 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,9 @@
11
import serverless from 'serverless-http'
2-
import express from 'express'
3-
import cors from 'cors'
4-
import morgan from 'morgan'
5-
import bodyParser from 'body-parser'
6-
import compression from 'compression'
7-
import customLogger from './utils/logger'
2+
import expressApp from './app'
83

9-
const app = express()
10-
const router = express.Router()
11-
12-
router.use(compression())
13-
14-
app.use(morgan(customLogger))
15-
16-
router.get('/users', (req, res) => {
17-
res.json({
18-
users: [{
19-
name: 'steve'
20-
}, {
21-
name: 'joe',
22-
}]
23-
})
24-
})
25-
26-
router.get('/', (req, res) => {
27-
console.log('home route hit')
28-
const html = `
29-
<html>
30-
<head>
31-
</head>
32-
<body>
33-
<h1>
34-
⊂◉‿◉つ I'm using Express in a lambda via 'serverless-http'
35-
</h1>
36-
37-
<a href='/.netlify/functions/serverless-http/users'>View users</a>
38-
</body>
39-
</html>
40-
`
41-
42-
res.send(html)
43-
})
44-
45-
router.get('/hello/', function(req, res){
46-
res.send('hello world')
47-
})
48-
49-
app.use('/.netlify/functions/serverless-http/', router)
50-
51-
router.use(cors())
52-
router.use(bodyParser.json())
53-
router.use(bodyParser.urlencoded({ extended: true }))
4+
// We need to define our function name for
5+
const functionName = 'serverless-http'
6+
console.log('__filename', __filename)
7+
const app = expressApp(functionName)
548

559
exports.handler = serverless(app)

‎functions/utils/binaryMimeTypes.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/* binaryMimeTypes needed for aws-serverless-express */
2+
3+
const binaryMimeTypes = [
4+
'application/javascript',
5+
'application/json',
6+
'application/octet-stream',
7+
'application/xml',
8+
'font/eot',
9+
'font/opentype',
10+
'font/otf',
11+
'image/jpeg',
12+
'image/png',
13+
'image/svg+xml',
14+
'text/comma-separated-values',
15+
'text/css',
16+
'text/html',
17+
'text/javascript',
18+
'text/plain',
19+
'text/text',
20+
'text/xml'
21+
]
22+
23+
export default binaryMimeTypes

‎package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"serverless-http": "^1.6.0"
1616
},
1717
"scripts": {
18-
"start": "npm-run-all --parallel start:app start:server",
18+
"start": "cross-env NODE_ENV=dev npm-run-all --parallel start:app start:server",
1919
"start:app": "react-scripts start",
2020
"start:server": "netlify-lambda serve functions",
2121
"build": "npm-run-all --parallel build:**",
@@ -24,6 +24,7 @@
2424
"test": "react-scripts test --env=jsdom"
2525
},
2626
"devDependencies": {
27+
"cross-env": "^5.2.0",
2728
"netlify-lambda": "^0.4.0",
2829
"npm-run-all": "^4.1.3"
2930
},

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /