aboutsummaryrefslogtreecommitdiffstats
path: root/src/internal-server/config/bodyParser.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal-server/config/bodyParser.js')
-rw-r--r--src/internal-server/config/bodyParser.js155
1 files changed, 155 insertions, 0 deletions
diff --git a/src/internal-server/config/bodyParser.js b/src/internal-server/config/bodyParser.js
new file mode 100644
index 000000000..8a5406f9e
--- /dev/null
+++ b/src/internal-server/config/bodyParser.js
@@ -0,0 +1,155 @@
1module.exports = {
2 /*
3 |--------------------------------------------------------------------------
4 | JSON Parser
5 |--------------------------------------------------------------------------
6 |
7 | Below settings are applied when the request body contains a JSON payload.
8 | If you want body parser to ignore JSON payloads, then simply set `types`
9 | to an empty array.
10 */
11 json: {
12 /*
13 |--------------------------------------------------------------------------
14 | limit
15 |--------------------------------------------------------------------------
16 |
17 | Defines the limit of JSON that can be sent by the client. If payload
18 | is over 1mb it will not be processed.
19 |
20 */
21 limit: '50mb',
22
23 /*
24 |--------------------------------------------------------------------------
25 | strict
26 |--------------------------------------------------------------------------
27 |
28 | When `strict` is set to true, body parser will only parse Arrays and
29 | Object. Otherwise everything parseable by `JSON.parse` is parsed.
30 |
31 */
32 strict: true,
33
34 /*
35 |--------------------------------------------------------------------------
36 | types
37 |--------------------------------------------------------------------------
38 |
39 | Which content types are processed as JSON payloads. You are free to
40 | add your own types here, but the request body should be parseable
41 | by `JSON.parse` method.
42 |
43 */
44 types: [
45 'application/json',
46 'application/json-patch+json',
47 'application/vnd.api+json',
48 'application/csp-report',
49 ],
50 },
51
52 /*
53 |--------------------------------------------------------------------------
54 | Raw Parser
55 |--------------------------------------------------------------------------
56 |
57 |
58 |
59 */
60 raw: {
61 types: [
62 'text/*',
63 ],
64 },
65
66 /*
67 |--------------------------------------------------------------------------
68 | Form Parser
69 |--------------------------------------------------------------------------
70 |
71 |
72 |
73 */
74 form: {
75 types: [
76 'application/x-www-form-urlencoded',
77 ],
78 },
79
80 /*
81 |--------------------------------------------------------------------------
82 | Files Parser
83 |--------------------------------------------------------------------------
84 |
85 |
86 |
87 */
88 files: {
89 types: [
90 'multipart/form-data',
91 ],
92
93 /*
94 |--------------------------------------------------------------------------
95 | Max Size
96 |--------------------------------------------------------------------------
97 |
98 | Below value is the max size of all the files uploaded to the server. It
99 | is validated even before files have been processed and hard exception
100 | is thrown.
101 |
102 | Consider setting a reasonable value here, otherwise people may upload GB's
103 | of files which will keep your server busy.
104 |
105 | Also this value is considered when `autoProcess` is set to true.
106 |
107 */
108 maxSize: '20mb',
109
110 /*
111 |--------------------------------------------------------------------------
112 | Auto Process
113 |--------------------------------------------------------------------------
114 |
115 | Whether or not to auto-process files. Since HTTP servers handle files via
116 | couple of specific endpoints. It is better to set this value off and
117 | manually process the files when required.
118 |
119 | This value can contain a boolean or an array of route patterns
120 | to be autoprocessed.
121 */
122 autoProcess: true,
123
124 /*
125 |--------------------------------------------------------------------------
126 | Process Manually
127 |--------------------------------------------------------------------------
128 |
129 | The list of routes that should not process files and instead rely on
130 | manual process. This list should only contain routes when autoProcess
131 | is to true. Otherwise everything is processed manually.
132 |
133 */
134 processManually: [],
135
136 /*
137 |--------------------------------------------------------------------------
138 | Temporary file name
139 |--------------------------------------------------------------------------
140 |
141 | Define a function, which should return a string to be used as the
142 | tmp file name.
143 |
144 | If not defined, Bodyparser will use `uuid` as the tmp file name.
145 |
146 | To be defined as. If you are defining the function, then do make sure
147 | to return a value from it.
148 |
149 | tmpFileName () {
150 | return 'some-unique-value'
151 | }
152 |
153 */
154 },
155};