-
Notifications
You must be signed in to change notification settings - Fork 0
/
serverless.ts
84 lines (81 loc) · 1.89 KB
/
serverless.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import type { AWS } from '@serverless/typescript';
import {
auth,
userHello,
chargeCustomer,
createAdminUser,
getUser,
putUser,
deleteUser,
userLogin,
userLogout,
testTrailingSlash
} from './src/functions';
const serverlessConfiguration: AWS = {
service: 'greedy-arn',
frameworkVersion: '2',
custom: {
webpack: {
webpackConfig: './webpack.config.js',
includeModules: true
}
},
plugins: ['serverless-webpack', 'serverless-offline',],
provider: {
name: 'aws',
runtime: 'nodejs12.x',
apiGateway: {
minimumCompressionSize: 1024,
shouldStartNameWithService: true,
},
environment: {
AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1',
},
lambdaHashingVersion: '20201221',
},
functions: {
auth,
userHello,
chargeCustomer,
createAdminUser,
getUser,
putUser,
deleteUser,
userLogin,
userLogout,
testTrailingSlash
},
resources: {
Resources: {
GatewayResponse: {
Type: "AWS::ApiGateway::GatewayResponse",
Properties: {
ResponseParameters: {
"gatewayresponse.header.Access-Control-Allow-Origin": "'*'",
"gatewayresponse.header.Access-Control-Allow-Headers": "'*'"
},
ResponseType: "EXPIRED_TOKEN",
RestApiId: {
"Ref": "ApiGatewayRestApi"
},
StatusCode: "401"
}
},
AuthFailureGatewayResponse: {
Type: "AWS::ApiGateway::GatewayResponse",
Properties: {
ResponseParameters: {
"gatewayresponse.header.Access-Control-Allow-Origin": "'*'",
"gatewayresponse.header.Access-Control-Allow-Headers": "'*'"
},
ResponseType: "UNAUTHORIZED",
RestApiId: {
Ref: "ApiGatewayRestApi"
},
StatusCode: "401"
}
},
}
}
}
module.exports = serverlessConfiguration;