@silexlabs/silex 3.0.0-alpha.66 → 3.0.0-alpha.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -97,7 +97,7 @@ var silex;(()=>{var t={357:function(t){var e;"undefined"!=typeof globalThis?glob
97
97
  ><span>${e.text}</span></div>
98
98
  `))}
99
99
  </header>
100
- `,r),document.body.appendChild(r),t.on("load",(()=>{n.view.el.appendChild(r)}))),t.Commands.add(e.command,{run(){e.link&&window.open(e.link),e.attributes.containerClassName&&(n.set("visible",!0),r.classList.remove("gjs-hidden"),t.Canvas.getFrameEl().classList.add("silex-squeeze-left"))},stop(){e.attributes.containerClassName&&(n.set("visible",!1),r.classList.add("gjs-hidden"),t.Canvas.getFrameEl().classList.remove("silex-squeeze-left"))}})})),t.on("load device:select page",(()=>{!function(){const e=n.view.el,r=t.Canvas.getFrameEl();r.classList.remove("enable-squeeze"),setTimeout((()=>{const t=r.getClientRects()[0]?.left,n=e.getClientRects()[0]?.right;t<n||!n?r.classList.add("enable-squeeze"):r.classList.remove("enable-squeeze")}),400),n.get("visible")?r.classList.add("silex-squeeze-left"):r.classList.remove("silex-squeeze-left")}()}))},Nn=document.createElement("div");let In;const Dn="open-settings";let $n="v3";const Rn=nt.plugins.add("settings-dialog",((t,e)=>{try{$n="3.0.0-alpha.66"}catch(t){}console.info("Silex version:",$n),t.Commands.add(Dn,{run:(e,n,{page:r})=>{In=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n.set("active",0),t.stopCommand(Dn)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r),we(ne`
100
+ `,r),document.body.appendChild(r),t.on("load",(()=>{n.view.el.appendChild(r)}))),t.Commands.add(e.command,{run(){e.link&&window.open(e.link),e.attributes.containerClassName&&(n.set("visible",!0),r.classList.remove("gjs-hidden"),t.Canvas.getFrameEl().classList.add("silex-squeeze-left"))},stop(){e.attributes.containerClassName&&(n.set("visible",!1),r.classList.add("gjs-hidden"),t.Canvas.getFrameEl().classList.remove("silex-squeeze-left"))}})})),t.on("load device:select page",(()=>{!function(){const e=n.view.el,r=t.Canvas.getFrameEl();r.classList.remove("enable-squeeze"),setTimeout((()=>{const t=r.getClientRects()[0]?.left,n=e.getClientRects()[0]?.right;t<n||!n?r.classList.add("enable-squeeze"):r.classList.remove("enable-squeeze")}),400),n.get("visible")?r.classList.add("silex-squeeze-left"):r.classList.remove("silex-squeeze-left")}()}))},Nn=document.createElement("div");let In;const Dn="open-settings";let $n="v3";const Rn=nt.plugins.add("settings-dialog",((t,e)=>{try{$n="3.0.0-alpha.68"}catch(t){}console.info("Silex version:",$n),t.Commands.add(Dn,{run:(e,n,{page:r})=>{In=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n.set("active",0),t.stopCommand(Dn)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r),we(ne`
101
101
  <p>The page settings will override site settings, <a href="https://github.com/silexlabs/Silex/wiki/Settings" target="_blank">more info about settings here</a>.</p>
102
102
  <form class="silex-form">
103
103
  <h2>General settings</h2>
@@ -15,6 +15,17 @@ function default_1(config) {
15
15
  return router;
16
16
  }
17
17
  exports.default = default_1;
18
+ function validateStatus(status, _default = 500) {
19
+ if (!status) {
20
+ console.warn(`Status code is undefined, returning default ${_default}`);
21
+ return _default;
22
+ }
23
+ status = parseInt(status.toString());
24
+ if (status >= 100 && status < 600)
25
+ return status;
26
+ console.warn(`Invalid status code ${status}, returning default ${_default}}`);
27
+ return _default;
28
+ }
18
29
  async function routeUser(req, res) {
19
30
  try {
20
31
  const config = (0, validation_1.requiredParam)(req.app.get('config'), 'Config object on express js APP');
@@ -45,7 +56,7 @@ async function routeUser(req, res) {
45
56
  }
46
57
  catch (error) {
47
58
  console.error('Error in the login status request', error);
48
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
59
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
49
60
  error: true,
50
61
  message: error.message,
51
62
  });
@@ -64,7 +75,7 @@ async function routeListConnectors(req, res) {
64
75
  }
65
76
  catch (error) {
66
77
  console.error('Error while listing connectors', error);
67
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
78
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
68
79
  error: true,
69
80
  message: 'Error while listing connectors: ' + error.message,
70
81
  });
@@ -72,7 +83,7 @@ async function routeListConnectors(req, res) {
72
83
  }
73
84
  catch (error) {
74
85
  console.error('Error in the list connectors request', error);
75
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
86
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
76
87
  error: true,
77
88
  message: 'Error in the list connectors request: ' + error.message,
78
89
  });
@@ -105,7 +116,7 @@ async function routeLogin(req, res) {
105
116
  }
106
117
  catch (error) {
107
118
  console.error('Error in the login request', error);
108
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
119
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
109
120
  error: true,
110
121
  message: 'Error in the login request: ' + error.message,
111
122
  });
@@ -137,7 +148,7 @@ async function routeLoginSuccess(req, res) {
137
148
  }
138
149
  catch (error) {
139
150
  res
140
- .status(error?.code ?? error?.httpStatusCode ?? 500)
151
+ .status(validateStatus(error?.code ?? error?.httpStatusCode, 500))
141
152
  .send(getEndAuthHtml(error.message, true));
142
153
  }
143
154
  }
@@ -160,7 +171,7 @@ async function routeLogout(req, res) {
160
171
  }
161
172
  catch (error) {
162
173
  console.error('Error while logging out', error);
163
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
174
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
164
175
  error: true,
165
176
  message: 'Error while logging out: ' + error.message,
166
177
  });
@@ -169,7 +180,7 @@ async function routeLogout(req, res) {
169
180
  }
170
181
  catch (error) {
171
182
  console.error('Error in the logout request', error);
172
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
183
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
173
184
  error: true,
174
185
  message: 'Error in the logout request: ' + error.message,
175
186
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@silexlabs/silex",
3
3
  "description": "Free and easy website builder for everyone.",
4
- "version": "3.0.0-alpha.66",
4
+ "version": "3.0.0-alpha.68",
5
5
  "version:backwardcompat": "3.0.0",
6
6
  "author": {
7
7
  "name": "Alex Hoyau",
@@ -45,6 +45,24 @@ export default function(config: ServerConfig) {
45
45
  return router
46
46
  }
47
47
 
48
+ /**
49
+ * Method to validate HTTP status codes
50
+ * Returns a suitable error code if it is not valid
51
+ */
52
+ function validateStatus(status: number, _default = 500): number {
53
+ if(!status) {
54
+ console.warn(`Status code is undefined, returning default ${_default}`)
55
+ return _default
56
+ }
57
+ // Make sure it is a string
58
+ status = parseInt(status.toString())
59
+ // Check the status code
60
+ if (status >= 100 && status < 600) return status
61
+ // Invalid status code
62
+ console.warn(`Invalid status code ${status}, returning default ${_default}}`)
63
+ return _default
64
+ }
65
+
48
66
  /**
49
67
  * Express route to check if the user is logged in
50
68
  * Returns user data and connector data
@@ -79,7 +97,7 @@ async function routeUser(req: Request, res: Response) {
79
97
  res.json(user as ApiConnectorUserResponse)
80
98
  } catch (error) {
81
99
  console.error('Error in the login status request', error)
82
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
100
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
83
101
  error: true,
84
102
  message: error.message,
85
103
  } as ApiResponseError)
@@ -101,14 +119,14 @@ async function routeListConnectors(req: Request, res: Response) {
101
119
  res.json(list as ApiConnectorListResponse)
102
120
  } catch (error) {
103
121
  console.error('Error while listing connectors', error)
104
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
122
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
105
123
  error: true,
106
124
  message: 'Error while listing connectors: ' + error.message,
107
125
  } as ApiResponseError)
108
126
  }
109
127
  } catch (error) {
110
128
  console.error('Error in the list connectors request', error)
111
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
129
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
112
130
  error: true,
113
131
  message: 'Error in the list connectors request: ' + error.message,
114
132
  } as ApiResponseError)
@@ -148,7 +166,7 @@ async function routeLogin(req: Request, res: Response) {
148
166
  }
149
167
  } catch (error) {
150
168
  console.error('Error in the login request', error)
151
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
169
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
152
170
  error: true,
153
171
  message: 'Error in the login request: ' + error.message,
154
172
  } as ApiResponseError)
@@ -248,7 +266,7 @@ async function routeLoginSuccess(req: Request, res: Response) {
248
266
  res.send(getEndAuthHtml('Logged in', false, connectorId, connector.getOptions(body)))
249
267
  } catch (error) {
250
268
  res
251
- .status(error?.code ?? error?.httpStatusCode ?? 500)
269
+ .status(validateStatus(error?.code ?? error?.httpStatusCode, 500))
252
270
  .send(getEndAuthHtml(error.message, true))
253
271
  }
254
272
  }
@@ -276,7 +294,7 @@ async function routeLogout(req: Request, res: Response) {
276
294
  } as ApiResponseError)
277
295
  } catch (error) {
278
296
  console.error('Error while logging out', error)
279
- res.status(error?.code ?? error?.httpStatusCode ?? 500).json({
297
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 500)).json({
280
298
  error: true,
281
299
  message: 'Error while logging out: ' + error.message,
282
300
  } as ApiResponseError)
@@ -284,7 +302,7 @@ async function routeLogout(req: Request, res: Response) {
284
302
  }
285
303
  } catch (error) {
286
304
  console.error('Error in the logout request', error)
287
- res.status(error?.code ?? error?.httpStatusCode ?? 400).json({
305
+ res.status(validateStatus(error?.code ?? error?.httpStatusCode, 400)).json({
288
306
  error: true,
289
307
  message: 'Error in the logout request: ' + error.message,
290
308
  } as ApiResponseError)