@based/server 4.0.1 → 4.0.3

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.
Files changed (438) hide show
  1. package/dist/auth/defaultConfig.d.ts +3 -0
  2. package/dist/auth/defaultConfig.js +12 -0
  3. package/dist/auth/defaultConfig.js.map +1 -0
  4. package/dist/auth/index.d.ts +12 -6
  5. package/dist/auth/index.js +31 -20
  6. package/dist/auth/index.js.map +1 -1
  7. package/dist/auth/parseAuthState.d.ts +2 -1
  8. package/dist/auth/parseAuthState.js +28 -6
  9. package/dist/auth/parseAuthState.js.map +1 -1
  10. package/dist/authorize.d.ts +9 -0
  11. package/dist/authorize.js +59 -0
  12. package/dist/authorize.js.map +1 -0
  13. package/dist/compress.js +3 -0
  14. package/dist/compress.js.map +1 -1
  15. package/dist/createSimpleServer.d.ts +20 -10
  16. package/dist/createSimpleServer.js +64 -53
  17. package/dist/createSimpleServer.js.map +1 -1
  18. package/dist/error/errorTypeHandlers.js +31 -12
  19. package/dist/error/errorTypeHandlers.js.map +1 -1
  20. package/dist/error/index.d.ts +11 -1
  21. package/dist/error/index.js +9 -10
  22. package/dist/error/index.js.map +1 -1
  23. package/dist/error/types.d.ts +41 -45
  24. package/dist/error/types.js +3 -1
  25. package/dist/error/types.js.map +1 -1
  26. package/dist/functionApi/callFunction copy.d.ts +3 -0
  27. package/dist/functionApi/callFunction copy.js +29 -0
  28. package/dist/functionApi/callFunction copy.js.map +1 -0
  29. package/dist/functionApi/callFunction.d.ts +3 -0
  30. package/dist/functionApi/callFunction.js +29 -0
  31. package/dist/functionApi/callFunction.js.map +1 -0
  32. package/dist/functionApi/client/index.d.ts +17 -0
  33. package/dist/functionApi/client/index.js +54 -0
  34. package/dist/functionApi/client/index.js.map +1 -0
  35. package/dist/functionApi/client/query.d.ts +11 -0
  36. package/dist/functionApi/client/query.js +32 -0
  37. package/dist/functionApi/client/query.js.map +1 -0
  38. package/dist/functionApi/get.d.ts +3 -0
  39. package/dist/functionApi/get.js +71 -0
  40. package/dist/functionApi/get.js.map +1 -0
  41. package/dist/functionApi/index.d.ts +5 -0
  42. package/dist/functionApi/index.js +25 -0
  43. package/dist/functionApi/index.js.map +1 -0
  44. package/dist/functionApi/observe.d.ts +4 -0
  45. package/dist/functionApi/observe.js +44 -0
  46. package/dist/functionApi/observe.js.map +1 -0
  47. package/dist/functionApi/stream.d.ts +3 -0
  48. package/dist/functionApi/stream.js +30 -0
  49. package/dist/functionApi/stream.js.map +1 -0
  50. package/dist/functions/index.d.ts +16 -8
  51. package/dist/functions/index.js +39 -10
  52. package/dist/functions/index.js.map +1 -1
  53. package/dist/functions/timeout.d.ts +3 -3
  54. package/dist/functions/timeout.js.map +1 -1
  55. package/dist/functions/types.d.ts +45 -31
  56. package/dist/functions/types.js +40 -12
  57. package/dist/functions/types.js.map +1 -1
  58. package/dist/incoming/http/function.d.ts +3 -4
  59. package/dist/incoming/http/function.js +29 -35
  60. package/dist/incoming/http/function.js.map +1 -1
  61. package/dist/incoming/http/get.d.ts +3 -3
  62. package/dist/incoming/http/get.js +44 -43
  63. package/dist/incoming/http/get.js.map +1 -1
  64. package/dist/incoming/http/index.js +50 -31
  65. package/dist/incoming/http/index.js.map +1 -1
  66. package/dist/incoming/http/parseQuery.d.ts +1 -1
  67. package/dist/incoming/http/parseQuery.js +3 -1
  68. package/dist/incoming/http/parseQuery.js.map +1 -1
  69. package/dist/incoming/http/query.d.ts +4 -0
  70. package/dist/incoming/http/query.js +165 -0
  71. package/dist/incoming/http/query.js.map +1 -0
  72. package/dist/incoming/http/readBody.d.ts +4 -3
  73. package/dist/incoming/http/readBody.js +32 -8
  74. package/dist/incoming/http/readBody.js.map +1 -1
  75. package/dist/incoming/http/streamFunction/DataStream.d.ts +8 -0
  76. package/dist/incoming/http/streamFunction/DataStream.js +42 -3
  77. package/dist/incoming/http/streamFunction/DataStream.js.map +1 -1
  78. package/dist/incoming/http/streamFunction/getExtension.d.ts +1 -1
  79. package/dist/incoming/http/streamFunction/index.d.ts +3 -3
  80. package/dist/incoming/http/streamFunction/index.js +6 -87
  81. package/dist/incoming/http/streamFunction/index.js.map +1 -1
  82. package/dist/incoming/http/streamFunction/multiPart/index.d.ts +4 -0
  83. package/dist/incoming/http/streamFunction/multiPart/index.js +66 -0
  84. package/dist/incoming/http/streamFunction/multiPart/index.js.map +1 -0
  85. package/dist/incoming/http/streamFunction/multiPart/readFormData.d.ts +12 -0
  86. package/dist/incoming/http/streamFunction/{multipartStream.js → multiPart/readFormData.js} +80 -86
  87. package/dist/incoming/http/streamFunction/multiPart/readFormData.js.map +1 -0
  88. package/dist/incoming/http/streamFunction/stream/createStream.d.ts +6 -0
  89. package/dist/incoming/http/streamFunction/{stream.js → stream/createStream.js} +5 -38
  90. package/dist/incoming/http/streamFunction/stream/createStream.js.map +1 -0
  91. package/dist/incoming/http/streamFunction/stream/index.d.ts +4 -0
  92. package/dist/incoming/http/streamFunction/stream/index.js +70 -0
  93. package/dist/incoming/http/streamFunction/stream/index.js.map +1 -0
  94. package/dist/incoming/index.d.ts +1 -1
  95. package/dist/incoming/index.js +13 -11
  96. package/dist/incoming/index.js.map +1 -1
  97. package/dist/incoming/upgrade.js +18 -9
  98. package/dist/incoming/upgrade.js.map +1 -1
  99. package/dist/incoming/ws/auth.d.ts +4 -4
  100. package/dist/incoming/ws/auth.js +37 -19
  101. package/dist/incoming/ws/auth.js.map +1 -1
  102. package/dist/incoming/ws/function.d.ts +2 -3
  103. package/dist/incoming/ws/function.js +21 -73
  104. package/dist/incoming/ws/function.js.map +1 -1
  105. package/dist/incoming/ws/get.d.ts +2 -3
  106. package/dist/incoming/ws/get.js +33 -54
  107. package/dist/incoming/ws/get.js.map +1 -1
  108. package/dist/incoming/ws/index.d.ts +1 -1
  109. package/dist/incoming/ws/index.js +2 -1
  110. package/dist/incoming/ws/index.js.map +1 -1
  111. package/dist/incoming/ws/observable.d.ts +7 -6
  112. package/dist/incoming/ws/observable.js +25 -49
  113. package/dist/incoming/ws/observable.js.map +1 -1
  114. package/dist/incoming/ws/types.d.ts +3 -0
  115. package/dist/{auth → incoming/ws}/types.js +0 -0
  116. package/dist/{auth → incoming/ws}/types.js.map +1 -1
  117. package/dist/index.d.ts +2 -2
  118. package/dist/index.js +2 -2
  119. package/dist/index.js.map +1 -1
  120. package/dist/installFn.d.ts +4 -0
  121. package/dist/installFn.js +94 -0
  122. package/dist/installFn.js.map +1 -0
  123. package/dist/observable/create.d.ts +1 -1
  124. package/dist/observable/create.js +5 -1
  125. package/dist/observable/create.js.map +1 -1
  126. package/dist/observable/destroy.js +1 -1
  127. package/dist/observable/destroy.js.map +1 -1
  128. package/dist/observable/index.d.ts +0 -1
  129. package/dist/observable/index.js +0 -1
  130. package/dist/observable/index.js.map +1 -1
  131. package/dist/observable/send.d.ts +3 -3
  132. package/dist/observable/send.js +2 -8
  133. package/dist/observable/send.js.map +1 -1
  134. package/dist/observable/start/error.d.ts +2 -1
  135. package/dist/observable/start/error.js +13 -11
  136. package/dist/observable/start/error.js.map +1 -1
  137. package/dist/observable/start/index.js +17 -8
  138. package/dist/observable/start/index.js.map +1 -1
  139. package/dist/observable/subscribe.d.ts +3 -3
  140. package/dist/observable/subscribe.js +6 -12
  141. package/dist/observable/subscribe.js.map +1 -1
  142. package/dist/observable/types.d.ts +6 -5
  143. package/dist/observable/unsub.d.ts +1 -1
  144. package/dist/observable/unsub.js.map +1 -1
  145. package/dist/protocol.d.ts +1 -0
  146. package/dist/protocol.js +11 -1
  147. package/dist/protocol.js.map +1 -1
  148. package/dist/security.d.ts +1 -1
  149. package/dist/security.js +1 -1
  150. package/dist/security.js.map +1 -1
  151. package/dist/sendError.d.ts +3 -2
  152. package/dist/sendError.js +30 -16
  153. package/dist/sendError.js.map +1 -1
  154. package/dist/sendHttpResponse.d.ts +3 -2
  155. package/dist/sendHttpResponse.js +62 -10
  156. package/dist/sendHttpResponse.js.map +1 -1
  157. package/dist/server.d.ts +10 -3
  158. package/dist/server.js +16 -4
  159. package/dist/server.js.map +1 -1
  160. package/dist/verifyRoute.d.ts +14 -0
  161. package/dist/verifyRoute.js +99 -0
  162. package/dist/verifyRoute.js.map +1 -0
  163. package/package.json +4 -2
  164. package/dist/BasedServerClient.d.ts +0 -71
  165. package/dist/BasedServerClient.js +0 -390
  166. package/dist/BasedServerClient.js.map +0 -1
  167. package/dist/Client.d.ts +0 -75
  168. package/dist/Client.js +0 -277
  169. package/dist/Client.js.map +0 -1
  170. package/dist/Params.d.ts +0 -20
  171. package/dist/Params.js +0 -48
  172. package/dist/Params.js.map +0 -1
  173. package/dist/api/index.d.ts +0 -7
  174. package/dist/api/index.js +0 -173
  175. package/dist/api/index.js.map +0 -1
  176. package/dist/auth/authorize.d.ts +0 -2
  177. package/dist/auth/authorize.js +0 -8
  178. package/dist/auth/authorize.js.map +0 -1
  179. package/dist/auth/dummyAuth.d.ts +0 -2
  180. package/dist/auth/dummyAuth.js +0 -8
  181. package/dist/auth/dummyAuth.js.map +0 -1
  182. package/dist/auth/types.d.ts +0 -10
  183. package/dist/clientContext.d.ts +0 -0
  184. package/dist/clientContext.js +0 -83
  185. package/dist/clientContext.js.map +0 -1
  186. package/dist/closeListener.d.ts +0 -4
  187. package/dist/closeListener.js +0 -13
  188. package/dist/closeListener.js.map +0 -1
  189. package/dist/context.d.ts +0 -54
  190. package/dist/context.js +0 -18
  191. package/dist/context.js.map +0 -1
  192. package/dist/error.d.ts +0 -66
  193. package/dist/error.js +0 -149
  194. package/dist/error.js.map +0 -1
  195. package/dist/findPrefix.d.ts +0 -3
  196. package/dist/findPrefix.js +0 -20
  197. package/dist/findPrefix.js.map +0 -1
  198. package/dist/functions/workerPool.d.ts +0 -0
  199. package/dist/functions/workerPool.js +0 -5
  200. package/dist/functions/workerPool.js.map +0 -1
  201. package/dist/getFromConfig.d.ts +0 -3
  202. package/dist/getFromConfig.js +0 -50
  203. package/dist/getFromConfig.js.map +0 -1
  204. package/dist/handlers/authorize.d.ts +0 -5
  205. package/dist/handlers/authorize.js +0 -196
  206. package/dist/handlers/authorize.js.map +0 -1
  207. package/dist/handlers/bulkUpdate/index.d.ts +0 -5
  208. package/dist/handlers/bulkUpdate/index.js +0 -26
  209. package/dist/handlers/bulkUpdate/index.js.map +0 -1
  210. package/dist/handlers/configuration/index.d.ts +0 -10
  211. package/dist/handlers/configuration/index.js +0 -74
  212. package/dist/handlers/configuration/index.js.map +0 -1
  213. package/dist/handlers/configuration/observable/index.d.ts +0 -46
  214. package/dist/handlers/configuration/observable/index.js +0 -277
  215. package/dist/handlers/configuration/observable/index.js.map +0 -1
  216. package/dist/handlers/configure/index.d.ts +0 -5
  217. package/dist/handlers/configure/index.js +0 -44
  218. package/dist/handlers/configure/index.js.map +0 -1
  219. package/dist/handlers/copy/index.d.ts +0 -8
  220. package/dist/handlers/copy/index.js +0 -135
  221. package/dist/handlers/copy/index.js.map +0 -1
  222. package/dist/handlers/delete/index.d.ts +0 -5
  223. package/dist/handlers/delete/index.js +0 -34
  224. package/dist/handlers/delete/index.js.map +0 -1
  225. package/dist/handlers/digest/index.d.ts +0 -5
  226. package/dist/handlers/digest/index.js +0 -23
  227. package/dist/handlers/digest/index.js.map +0 -1
  228. package/dist/handlers/functions/call.d.ts +0 -6
  229. package/dist/handlers/functions/call.js +0 -54
  230. package/dist/handlers/functions/call.js.map +0 -1
  231. package/dist/handlers/functions/observable/Observable.d.ts +0 -49
  232. package/dist/handlers/functions/observable/Observable.js +0 -290
  233. package/dist/handlers/functions/observable/Observable.js.map +0 -1
  234. package/dist/handlers/functions/observable/SharedObservable.d.ts +0 -45
  235. package/dist/handlers/functions/observable/SharedObservable.js +0 -291
  236. package/dist/handlers/functions/observable/SharedObservable.js.map +0 -1
  237. package/dist/handlers/functions/observable/index.d.ts +0 -14
  238. package/dist/handlers/functions/observable/index.js +0 -130
  239. package/dist/handlers/functions/observable/index.js.map +0 -1
  240. package/dist/handlers/get/index.d.ts +0 -5
  241. package/dist/handlers/get/index.js +0 -23
  242. package/dist/handlers/get/index.js.map +0 -1
  243. package/dist/handlers/getConfig/index.d.ts +0 -5
  244. package/dist/handlers/getConfig/index.js +0 -38
  245. package/dist/handlers/getConfig/index.js.map +0 -1
  246. package/dist/handlers/handleRequests.d.ts +0 -5
  247. package/dist/handlers/handleRequests.js +0 -78
  248. package/dist/handlers/handleRequests.js.map +0 -1
  249. package/dist/handlers/index.d.ts +0 -4
  250. package/dist/handlers/index.js +0 -49
  251. package/dist/handlers/index.js.map +0 -1
  252. package/dist/handlers/messageParser.d.ts +0 -5
  253. package/dist/handlers/messageParser.js +0 -122
  254. package/dist/handlers/messageParser.js.map +0 -1
  255. package/dist/handlers/removeField/index.d.ts +0 -5
  256. package/dist/handlers/removeField/index.js +0 -42
  257. package/dist/handlers/removeField/index.js.map +0 -1
  258. package/dist/handlers/removeType/index.d.ts +0 -5
  259. package/dist/handlers/removeType/index.js +0 -30
  260. package/dist/handlers/removeType/index.js.map +0 -1
  261. package/dist/handlers/rest/file/DataStream.d.ts +0 -7
  262. package/dist/handlers/rest/file/DataStream.js +0 -17
  263. package/dist/handlers/rest/file/DataStream.js.map +0 -1
  264. package/dist/handlers/rest/file/formStream.d.ts +0 -4
  265. package/dist/handlers/rest/file/formStream.js +0 -188
  266. package/dist/handlers/rest/file/formStream.js.map +0 -1
  267. package/dist/handlers/rest/file/getExtenstion.d.ts +0 -2
  268. package/dist/handlers/rest/file/getExtenstion.js +0 -22
  269. package/dist/handlers/rest/file/getExtenstion.js.map +0 -1
  270. package/dist/handlers/rest/file/index.d.ts +0 -4
  271. package/dist/handlers/rest/file/index.js +0 -53
  272. package/dist/handlers/rest/file/index.js.map +0 -1
  273. package/dist/handlers/rest/file/storeFile.d.ts +0 -6
  274. package/dist/handlers/rest/file/storeFile.js +0 -44
  275. package/dist/handlers/rest/file/storeFile.js.map +0 -1
  276. package/dist/handlers/rest/file/stream.d.ts +0 -5
  277. package/dist/handlers/rest/file/stream.js +0 -104
  278. package/dist/handlers/rest/file/stream.js.map +0 -1
  279. package/dist/handlers/rest/file/types.d.ts +0 -9
  280. package/dist/handlers/rest/file/types.js +0 -3
  281. package/dist/handlers/rest/file/types.js.map +0 -1
  282. package/dist/handlers/rest/getReqMessage.d.ts +0 -3
  283. package/dist/handlers/rest/getReqMessage.js +0 -92
  284. package/dist/handlers/rest/getReqMessage.js.map +0 -1
  285. package/dist/handlers/rest/index.d.ts +0 -4
  286. package/dist/handlers/rest/index.js +0 -121
  287. package/dist/handlers/rest/index.js.map +0 -1
  288. package/dist/handlers/rest/invalidReq.d.ts +0 -4
  289. package/dist/handlers/rest/invalidReq.js +0 -20
  290. package/dist/handlers/rest/invalidReq.js.map +0 -1
  291. package/dist/handlers/rest/parseResponse.d.ts +0 -6
  292. package/dist/handlers/rest/parseResponse.js +0 -230
  293. package/dist/handlers/rest/parseResponse.js.map +0 -1
  294. package/dist/handlers/rest/playground/index.d.ts +0 -5
  295. package/dist/handlers/rest/playground/index.js +0 -308
  296. package/dist/handlers/rest/playground/index.js.map +0 -1
  297. package/dist/handlers/rest/readBody.d.ts +0 -3
  298. package/dist/handlers/rest/readBody.js +0 -45
  299. package/dist/handlers/rest/readBody.js.map +0 -1
  300. package/dist/handlers/set/index.d.ts +0 -5
  301. package/dist/handlers/set/index.js +0 -20
  302. package/dist/handlers/set/index.js.map +0 -1
  303. package/dist/handlers/subscription/index.d.ts +0 -32
  304. package/dist/handlers/subscription/index.js +0 -223
  305. package/dist/handlers/subscription/index.js.map +0 -1
  306. package/dist/handlers/token.d.ts +0 -5
  307. package/dist/handlers/token.js +0 -122
  308. package/dist/handlers/token.js.map +0 -1
  309. package/dist/handlers/track/index.d.ts +0 -7
  310. package/dist/handlers/track/index.js +0 -102
  311. package/dist/handlers/track/index.js.map +0 -1
  312. package/dist/handlers/userAuth/index.d.ts +0 -5
  313. package/dist/handlers/userAuth/index.js +0 -78
  314. package/dist/handlers/userAuth/index.js.map +0 -1
  315. package/dist/incoming/http/authorize.d.ts +0 -4
  316. package/dist/incoming/http/authorize.js +0 -37
  317. package/dist/incoming/http/authorize.js.map +0 -1
  318. package/dist/incoming/http/streamFunction/multipartStream.d.ts +0 -13
  319. package/dist/incoming/http/streamFunction/multipartStream.js.map +0 -1
  320. package/dist/incoming/http/streamFunction/stream.d.ts +0 -6
  321. package/dist/incoming/http/streamFunction/stream.js.map +0 -1
  322. package/dist/network/http/authorize.d.ts +0 -3
  323. package/dist/network/http/authorize.js +0 -28
  324. package/dist/network/http/authorize.js.map +0 -1
  325. package/dist/network/http/compress.d.ts +0 -6
  326. package/dist/network/http/compress.js +0 -56
  327. package/dist/network/http/compress.js.map +0 -1
  328. package/dist/network/http/end.d.ts +0 -4
  329. package/dist/network/http/end.js +0 -19
  330. package/dist/network/http/end.js.map +0 -1
  331. package/dist/network/http/function.d.ts +0 -3
  332. package/dist/network/http/function.js +0 -47
  333. package/dist/network/http/function.js.map +0 -1
  334. package/dist/network/http/get.d.ts +0 -3
  335. package/dist/network/http/get.js +0 -129
  336. package/dist/network/http/get.js.map +0 -1
  337. package/dist/network/http/index.d.ts +0 -3
  338. package/dist/network/http/index.js +0 -122
  339. package/dist/network/http/index.js.map +0 -1
  340. package/dist/network/http/readBody.d.ts +0 -3
  341. package/dist/network/http/readBody.js +0 -112
  342. package/dist/network/http/readBody.js.map +0 -1
  343. package/dist/network/http/send.d.ts +0 -5
  344. package/dist/network/http/send.js +0 -60
  345. package/dist/network/http/send.js.map +0 -1
  346. package/dist/network/http/streamFunction/DataStream.d.ts +0 -7
  347. package/dist/network/http/streamFunction/DataStream.js +0 -19
  348. package/dist/network/http/streamFunction/DataStream.js.map +0 -1
  349. package/dist/network/http/streamFunction/getExtension.d.ts +0 -2
  350. package/dist/network/http/streamFunction/getExtension.js +0 -29
  351. package/dist/network/http/streamFunction/getExtension.js.map +0 -1
  352. package/dist/network/http/streamFunction/index.d.ts +0 -3
  353. package/dist/network/http/streamFunction/index.js +0 -81
  354. package/dist/network/http/streamFunction/index.js.map +0 -1
  355. package/dist/network/http/streamFunction/multipartStream.d.ts +0 -12
  356. package/dist/network/http/streamFunction/multipartStream.js +0 -208
  357. package/dist/network/http/streamFunction/multipartStream.js.map +0 -1
  358. package/dist/network/http/streamFunction/stream.d.ts +0 -5
  359. package/dist/network/http/streamFunction/stream.js +0 -103
  360. package/dist/network/http/streamFunction/stream.js.map +0 -1
  361. package/dist/network/index.d.ts +0 -4
  362. package/dist/network/index.js +0 -84
  363. package/dist/network/index.js.map +0 -1
  364. package/dist/network/message/auth.d.ts +0 -4
  365. package/dist/network/message/auth.js +0 -32
  366. package/dist/network/message/auth.js.map +0 -1
  367. package/dist/network/message/function.d.ts +0 -3
  368. package/dist/network/message/function.js +0 -67
  369. package/dist/network/message/function.js.map +0 -1
  370. package/dist/network/message/get.d.ts +0 -3
  371. package/dist/network/message/get.js +0 -109
  372. package/dist/network/message/get.js.map +0 -1
  373. package/dist/network/message/index.d.ts +0 -3
  374. package/dist/network/message/index.js +0 -62
  375. package/dist/network/message/index.js.map +0 -1
  376. package/dist/network/message/observable.d.ts +0 -5
  377. package/dist/network/message/observable.js +0 -103
  378. package/dist/network/message/observable.js.map +0 -1
  379. package/dist/network/message/send.d.ts +0 -4
  380. package/dist/network/message/send.js +0 -11
  381. package/dist/network/message/send.js.map +0 -1
  382. package/dist/network/upgrade.d.ts +0 -4
  383. package/dist/network/upgrade.js +0 -49
  384. package/dist/network/upgrade.js.map +0 -1
  385. package/dist/network/worker/get.d.ts +0 -0
  386. package/dist/network/worker/get.js +0 -122
  387. package/dist/network/worker/get.js.map +0 -1
  388. package/dist/network/worker/observable.d.ts +0 -0
  389. package/dist/network/worker/observable.js +0 -120
  390. package/dist/network/worker/observable.js.map +0 -1
  391. package/dist/observable/error.d.ts +0 -4
  392. package/dist/observable/error.js +0 -17
  393. package/dist/observable/error.js.map +0 -1
  394. package/dist/observable/verify.d.ts +0 -4
  395. package/dist/observable/verify.js +0 -18
  396. package/dist/observable/verify.js.map +0 -1
  397. package/dist/openListener.d.ts +0 -4
  398. package/dist/openListener.js +0 -13
  399. package/dist/openListener.js.map +0 -1
  400. package/dist/secrets.d.ts +0 -9
  401. package/dist/secrets.js +0 -150
  402. package/dist/secrets.js.map +0 -1
  403. package/dist/security/index.d.ts +0 -3
  404. package/dist/security/index.js +0 -66
  405. package/dist/security/index.js.map +0 -1
  406. package/dist/types.d.ts +0 -129
  407. package/dist/types.js +0 -17
  408. package/dist/types.js.map +0 -1
  409. package/dist/upgradeListener.d.ts +0 -4
  410. package/dist/upgradeListener.js +0 -47
  411. package/dist/upgradeListener.js.map +0 -1
  412. package/dist/worker/authorize.d.ts +0 -5
  413. package/dist/worker/authorize.js +0 -15
  414. package/dist/worker/authorize.js.map +0 -1
  415. package/dist/worker/fnMap.d.ts +0 -2
  416. package/dist/worker/fnMap.js +0 -5
  417. package/dist/worker/fnMap.js.map +0 -1
  418. package/dist/worker/functions.d.ts +0 -3
  419. package/dist/worker/functions.js +0 -8
  420. package/dist/worker/functions.js.map +0 -1
  421. package/dist/worker/http/function.d.ts +0 -4
  422. package/dist/worker/http/function.js +0 -75
  423. package/dist/worker/http/function.js.map +0 -1
  424. package/dist/worker/index.d.ts +0 -1
  425. package/dist/worker/index.js +0 -101
  426. package/dist/worker/index.js.map +0 -1
  427. package/dist/worker/observable.d.ts +0 -15
  428. package/dist/worker/observable.js +0 -110
  429. package/dist/worker/observable.js.map +0 -1
  430. package/dist/worker/ws/function.d.ts +0 -3
  431. package/dist/worker/ws/function.js +0 -42
  432. package/dist/worker/ws/function.js.map +0 -1
  433. package/dist/workers/index.d.ts +0 -0
  434. package/dist/workers/index.js +0 -20
  435. package/dist/workers/index.js.map +0 -1
  436. package/dist/workers/workerCode.d.ts +0 -12
  437. package/dist/workers/workerCode.js +0 -46
  438. package/dist/workers/workerCode.js.map +0 -1
@@ -1,120 +0,0 @@
1
- // import { isObservableFunctionSpec } from '../../functions'
2
- // import { decodePayload, decodeName, readUint8 } from '../../protocol'
3
- // import { BasedServer } from '../../server'
4
- // import { create, unsubscribe, destroy, subscribe } from '../../observable'
5
- // import { BasedErrorCode } from '../../error'
6
- // import { sendError } from '../message/send'
7
- // import { WebsocketClient, BasedFunctionRoute } from '../../types'
8
- // gets worker (and client context)
9
- // export const enableSubscribe = (
10
- // server: BasedServer,
11
- // client: WebsocketClient,
12
- // id: number,
13
- // checksum: number,
14
- // name: string,
15
- // payload: any,
16
- // route: BasedFunctionRoute
17
- // ) => {
18
- // client.ws.subscribe(String(id))
19
- // client.ws.obs.add(id)
20
- // if (server.activeObservablesById.has(id)) {
21
- // subscribe(server, id, checksum, client)
22
- // } else {
23
- // server.functions
24
- // .install(name)
25
- // .then((spec) => {
26
- // if (spec && isObservableFunctionSpec(spec)) {
27
- // const obs = create(server, name, id, payload)
28
- // if (!client.ws?.obs.has(id)) {
29
- // if (obs.clients.size === 0) {
30
- // destroy(server, id)
31
- // }
32
- // } else {
33
- // subscribe(server, id, checksum, client)
34
- // }
35
- // } else {
36
- // sendError(server, client, BasedErrorCode.FunctionNotFound, route)
37
- // }
38
- // })
39
- // .catch(() => {
40
- // sendError(server, client, BasedErrorCode.FunctionNotFound, route)
41
- // })
42
- // }
43
- // }
44
- // export const subscribeMessage = (
45
- // arr: Uint8Array,
46
- // start: number,
47
- // len: number,
48
- // isDeflate: boolean,
49
- // client: WebsocketClient,
50
- // server: BasedServer
51
- // ) => {
52
- // // | 4 header | 8 id | 8 checksum | 1 name length | * name | * payload |
53
- // const nameLen = arr[start + 20]
54
- // const id = readUint8(arr, start + 4, 8)
55
- // const checksum = readUint8(arr, start + 12, 8)
56
- // const name = decodeName(arr, start + 21, start + 21 + nameLen)
57
- // if (!name || !id) {
58
- // return false
59
- // }
60
- // const route = server.functions.route(name)
61
- // if (!route || !route.observable) {
62
- // return false
63
- // }
64
- // if (route.maxPayloadSize !== -1 && len > route.maxPayloadSize) {
65
- // sendError(server, client, BasedErrorCode.PayloadTooLarge, route)
66
- // return false
67
- // }
68
- // if (client.ws?.obs.has(id)) {
69
- // // allready subscribed to this id
70
- // return true
71
- // }
72
- // const payload = decodePayload(
73
- // new Uint8Array(arr.slice(start + 21 + nameLen, start + len)),
74
- // isDeflate
75
- // )
76
- // server.auth.config
77
- // .authorize(server, client, name, payload)
78
- // .then((ok) => {
79
- // if (!client.ws) {
80
- // return
81
- // }
82
- // if (!ok) {
83
- // client.ws.unauthorizedObs.add({ id, checksum, name, payload })
84
- // sendError(server, client, BasedErrorCode.AuthorizeRejectedError, route)
85
- // return false
86
- // }
87
- // enableSubscribe(server, client, id, checksum, name, payload, route)
88
- // })
89
- // .catch((err) => {
90
- // sendError(server, client, BasedErrorCode.AuthorizeFunctionError, {
91
- // route,
92
- // observableId: id,
93
- // err,
94
- // })
95
- // destroy(server, id)
96
- // })
97
- // return true
98
- // }
99
- // export const unsubscribeMessage = (
100
- // arr: Uint8Array,
101
- // start: number,
102
- // client: WebsocketClient,
103
- // server: BasedServer
104
- // ) => {
105
- // // | 4 header | 8 id |
106
- // const id = readUint8(arr, start + 4, 8)
107
- // if (!id) {
108
- // return false
109
- // }
110
- // if (!client.ws) {
111
- // return
112
- // }
113
- // if (!client.ws.obs.has(id)) {
114
- // return true
115
- // }
116
- // client.ws.unsubscribe(String(id))
117
- // unsubscribe(server, id, client)
118
- // return true
119
- // }
120
- //# sourceMappingURL=observable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../src/network/worker/observable.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,wEAAwE;AACxE,6CAA6C;AAC7C,6EAA6E;AAC7E,+CAA+C;AAC/C,8CAA8C;AAC9C,oEAAoE;AAEpE,mCAAmC;AAEnC,mCAAmC;AACnC,yBAAyB;AACzB,6BAA6B;AAC7B,gBAAgB;AAChB,sBAAsB;AACtB,kBAAkB;AAClB,kBAAkB;AAClB,8BAA8B;AAC9B,SAAS;AACT,oCAAoC;AACpC,0BAA0B;AAE1B,gDAAgD;AAChD,8CAA8C;AAC9C,aAAa;AACb,uBAAuB;AACvB,uBAAuB;AACvB,0BAA0B;AAC1B,wDAAwD;AACxD,0DAA0D;AAC1D,2CAA2C;AAC3C,4CAA4C;AAC5C,oCAAoC;AACpC,gBAAgB;AAChB,qBAAqB;AACrB,sDAAsD;AACtD,cAAc;AACd,mBAAmB;AACnB,8EAA8E;AAC9E,YAAY;AACZ,WAAW;AACX,uBAAuB;AACvB,4EAA4E;AAC5E,WAAW;AACX,MAAM;AACN,IAAI;AAEJ,oCAAoC;AACpC,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB,wBAAwB;AACxB,6BAA6B;AAC7B,wBAAwB;AACxB,SAAS;AACT,6EAA6E;AAE7E,oCAAoC;AAEpC,4CAA4C;AAC5C,mDAAmD;AACnD,mEAAmE;AAEnE,wBAAwB;AACxB,mBAAmB;AACnB,MAAM;AAEN,+CAA+C;AAE/C,uCAAuC;AACvC,mBAAmB;AACnB,MAAM;AAEN,qEAAqE;AACrE,uEAAuE;AACvE,mBAAmB;AACnB,MAAM;AAEN,kCAAkC;AAClC,wCAAwC;AACxC,kBAAkB;AAClB,MAAM;AAEN,mCAAmC;AACnC,oEAAoE;AACpE,gBAAgB;AAChB,MAAM;AAEN,uBAAuB;AACvB,gDAAgD;AAChD,sBAAsB;AACtB,0BAA0B;AAC1B,iBAAiB;AACjB,UAAU;AAEV,mBAAmB;AACnB,yEAAyE;AACzE,kFAAkF;AAClF,uBAAuB;AACvB,UAAU;AAEV,4EAA4E;AAC5E,SAAS;AACT,wBAAwB;AACxB,2EAA2E;AAC3E,iBAAiB;AACjB,4BAA4B;AAC5B,eAAe;AACf,WAAW;AACX,4BAA4B;AAC5B,SAAS;AAET,gBAAgB;AAChB,IAAI;AAEJ,sCAAsC;AACtC,qBAAqB;AACrB,mBAAmB;AACnB,6BAA6B;AAC7B,wBAAwB;AACxB,SAAS;AACT,2BAA2B;AAE3B,4CAA4C;AAE5C,eAAe;AACf,mBAAmB;AACnB,MAAM;AAEN,sBAAsB;AACtB,aAAa;AACb,MAAM;AAEN,kCAAkC;AAClC,kBAAkB;AAClB,MAAM;AAEN,sCAAsC;AAEtC,oCAAoC;AAEpC,gBAAgB;AAChB,IAAI"}
@@ -1,4 +0,0 @@
1
- import { BasedServer } from '../server';
2
- import { Context, WebSocketSession, HttpSession } from '../context';
3
- import { BasedErrorCode, BasedError } from '../error';
4
- export declare const sendObsGetError: (server: BasedServer, ctx: Context<WebSocketSession | HttpSession>, id: number, name: string, err: BasedError<BasedErrorCode.ObservableFunctionError>) => void;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendObsGetError = void 0;
4
- const destroy_1 = require("./destroy");
5
- const sendError_1 = require("../sendError");
6
- const sendObsGetError = (server, ctx, id, name, err) => {
7
- (0, sendError_1.sendError)(server, ctx, err.code, {
8
- observableId: id,
9
- route: {
10
- name,
11
- },
12
- err: err,
13
- });
14
- (0, destroy_1.destroyObs)(server, id);
15
- };
16
- exports.sendObsGetError = sendObsGetError;
17
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/observable/error.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AAGtC,4CAAwC;AAEjC,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,GAA4C,EAC5C,EAAU,EACV,IAAY,EACZ,GAAuD,EACvD,EAAE;IACF,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE;YACL,IAAI;SACL;QACD,GAAG,EAAE,GAAG;KACT,CAAC,CAAA;IACF,IAAA,oBAAU,EAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC,CAAA;AAfY,QAAA,eAAe,mBAe3B"}
@@ -1,4 +0,0 @@
1
- import { HttpSession, WebSocketSession, Context } from '../context';
2
- import { BasedServer } from '../server';
3
- import { BasedFunctionRoute } from '../functions';
4
- export declare const verifyRoute: (server: BasedServer, name: string, route: BasedFunctionRoute | false, ctx: Context<HttpSession | WebSocketSession>) => BasedFunctionRoute | false;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyRoute = void 0;
4
- const error_1 = require("../error");
5
- const sendError_1 = require("../sendError");
6
- const verifyRoute = (server, name, route, ctx) => {
7
- if (!route) {
8
- (0, sendError_1.sendError)(server, ctx, error_1.BasedErrorCode.FunctionNotFound, { name });
9
- return false;
10
- }
11
- if (!route.observable) {
12
- (0, sendError_1.sendError)(server, ctx, error_1.BasedErrorCode.FunctionIsNotObservable, route);
13
- return false;
14
- }
15
- return route;
16
- };
17
- exports.verifyRoute = verifyRoute;
18
- //# sourceMappingURL=verify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/observable/verify.ts"],"names":[],"mappings":";;;AACA,oCAAyC;AAEzC,4CAAwC;AAGjC,MAAM,WAAW,GAAG,CACzB,MAAmB,EACnB,IAAY,EACZ,KAAiC,EACjC,GAA4C,EAChB,EAAE;IAC9B,IAAI,CAAC,KAAK,EAAE;QACV,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,EAAE,sBAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,OAAO,KAAK,CAAA;KACb;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QACrB,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,EAAE,sBAAc,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;QACrE,OAAO,KAAK,CAAA;KACb;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAfY,QAAA,WAAW,eAevB"}
@@ -1,4 +0,0 @@
1
- import uws from '@based/uws';
2
- import { BasedServer } from '.';
3
- declare const open: (server: BasedServer, socket: uws.WebSocket) => void;
4
- export default open;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Client_1 = __importDefault(require("./Client"));
7
- const open = (server, socket) => {
8
- const client = new Client_1.default(server, socket);
9
- server.clients[client.id] = client;
10
- server.emit('open', client);
11
- };
12
- exports.default = open;
13
- //# sourceMappingURL=openListener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openListener.js","sourceRoot":"","sources":["../src/openListener.ts"],"names":[],"mappings":";;;;;AAEA,sDAA6B;AAE7B,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAE,MAAqB,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
package/dist/secrets.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { BasedServer } from '.';
2
- import { SignOptions } from 'jsonwebtoken';
3
- export declare const getSecret: (server: BasedServer, secret: string) => Promise<any>;
4
- export declare const decodeToken: (value: string, publicKey: string) => Promise<any>;
5
- export declare const encodeValueBySecret: (server: BasedServer, payload: string | object, privateKeySecretOrKey: string | {
6
- secret?: string;
7
- key?: string;
8
- }, type?: 'jwt', signOptions?: SignOptions) => Promise<any>;
9
- export declare const decodeValueBySecret: (server: BasedServer, value: string, publicKeySecret: string, type?: 'jwt') => Promise<any>;
package/dist/secrets.js DELETED
@@ -1,150 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.decodeValueBySecret = exports.encodeValueBySecret = exports.decodeToken = exports.getSecret = void 0;
7
- const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
- const types_1 = require("@based/types");
9
- const jwtDecode = (resolve, reject, value, publicKey) => {
10
- try {
11
- jsonwebtoken_1.default.verify(value, publicKey,
12
- // {
13
- // algorithms: ['RS256'],
14
- // },
15
- (err, decoded) => {
16
- if (err) {
17
- if (err instanceof jsonwebtoken_1.default.TokenExpiredError) {
18
- const basedError = new types_1.BasedError('Token expired');
19
- basedError.code = types_1.BasedErrorCodes.TokenExpired;
20
- basedError.stack = err.stack;
21
- reject(basedError);
22
- }
23
- else {
24
- resolve(false);
25
- }
26
- }
27
- else {
28
- resolve(decoded);
29
- }
30
- });
31
- }
32
- catch (err) {
33
- reject(err);
34
- }
35
- };
36
- const getSecret = async (server, secret) => {
37
- try {
38
- let cert = server.config?.secrets?.[secret];
39
- // can make a thing to update it as well - but later...
40
- if (server.config?.secretsConfig) {
41
- if (!server.config.secretsConfig.secretTimeouts) {
42
- server.config.secretsConfig.secretTimeouts = {};
43
- }
44
- if (!cert) {
45
- cert = await server.config.secretsConfig.getInitial(server, secret);
46
- if (!cert) {
47
- return null;
48
- }
49
- if (!server.config.secrets) {
50
- server.config.secrets = {};
51
- }
52
- server.config.secretsConfig.secretTimeouts[secret] = 0;
53
- server.config.secrets[secret] = cert;
54
- }
55
- else {
56
- if (server.config.secretsConfig.secretTimeouts[secret] !== undefined) {
57
- server.config.secretsConfig.secretTimeouts[secret] = 0;
58
- }
59
- }
60
- }
61
- return cert || false;
62
- }
63
- catch (err) {
64
- console.warn('Error getting secret (unhandled)', err);
65
- return false;
66
- }
67
- };
68
- exports.getSecret = getSecret;
69
- const cleanCarriageReturn = (value) => typeof value === 'string' ? value.replace(/\n$/, '') : value;
70
- const decodeToken = (value, publicKey) => {
71
- return new Promise((resolve, reject) => {
72
- jwtDecode(resolve, reject, cleanCarriageReturn(value), publicKey);
73
- });
74
- };
75
- exports.decodeToken = decodeToken;
76
- const encodeValueBySecret = (server, payload, privateKeySecretOrKey, type = 'jwt', signOptions) => {
77
- return new Promise((resolve, reject) => {
78
- new Promise((resolve, reject) => {
79
- if (typeof privateKeySecretOrKey === 'string') {
80
- resolve((0, exports.getSecret)(server, privateKeySecretOrKey));
81
- }
82
- else if (privateKeySecretOrKey.secret) {
83
- resolve((0, exports.getSecret)(server, privateKeySecretOrKey.secret));
84
- }
85
- else if (privateKeySecretOrKey.key) {
86
- resolve(privateKeySecretOrKey.key);
87
- }
88
- else {
89
- reject(new Error('Need to pass a secret name or a key'));
90
- }
91
- })
92
- .then((privateKey) => {
93
- if (privateKey) {
94
- const defaultOptions = {
95
- expiresIn: '2d',
96
- algorithm: 'RS256',
97
- };
98
- if (type === 'jwt') {
99
- jsonwebtoken_1.default.sign(payload, privateKey, { ...defaultOptions, ...signOptions }, (err, decoded) => {
100
- if (err) {
101
- resolve(false);
102
- }
103
- else {
104
- resolve(decoded);
105
- }
106
- });
107
- }
108
- else {
109
- reject(new Error(`Encode ${type} not implementedd yet`));
110
- }
111
- }
112
- else {
113
- reject(new Error(`Secret does not exist ${privateKeySecretOrKey}`));
114
- }
115
- })
116
- .catch((err) => {
117
- reject(err);
118
- });
119
- });
120
- };
121
- exports.encodeValueBySecret = encodeValueBySecret;
122
- const decodeValueBySecret = (server, value, publicKeySecret, type = 'jwt') => {
123
- return new Promise((resolve, reject) => {
124
- // make this better
125
- (0, exports.getSecret)(server, publicKeySecret)
126
- .then((publicKey) => {
127
- if (publicKey) {
128
- if (type === 'jwt') {
129
- try {
130
- jwtDecode(resolve, reject, cleanCarriageReturn(value), publicKey);
131
- }
132
- catch (err) {
133
- reject(err);
134
- }
135
- }
136
- else {
137
- console.error(`decode ${type} not implemented yet`);
138
- }
139
- }
140
- else {
141
- reject(new Error(`Secret does not exist ${publicKeySecret}`));
142
- }
143
- })
144
- .catch((err) => {
145
- reject(err);
146
- });
147
- });
148
- };
149
- exports.decodeValueBySecret = decodeValueBySecret;
150
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { BasedServer } from '../server';
2
- import uws from '@based/uws';
3
- export declare const incomingCounter: (server: BasedServer, ip: string, req: uws.HttpRequest) => boolean;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.incomingCounter = void 0;
4
- // rate limit
5
- const error_1 = require("../error");
6
- // import { BasedErrorCode } from '../error'
7
- // import { HttpClient, isHttpClient, WebsocketClient } from '../types'
8
- // token
9
- const drainRequestCounter = (server) => {
10
- server.requestsCounterInProgress = true;
11
- server.requestsCounterTimeout = setTimeout(() => {
12
- server.requestsCounterInProgress = false;
13
- server.requestsCounter.forEach((value, ip) => {
14
- if (!value.errors?.size) {
15
- if (value.requests <= 0) {
16
- server.requestsCounter.delete(ip);
17
- return;
18
- // check if client is still active ?
19
- }
20
- }
21
- else {
22
- console.info('error handle different');
23
- }
24
- console.info('DRAIN RATELIMIT TOKENS');
25
- value.requests -= 500;
26
- });
27
- if (server.requestsCounter.size) {
28
- drainRequestCounter(server);
29
- }
30
- }, 30e3);
31
- };
32
- // fix client objects...
33
- // not counter also rate limit adder
34
- const incomingCounter = (server, ip, req) => {
35
- let ipReqCounter = server.requestsCounter.get(ip);
36
- if (!ipReqCounter) {
37
- ipReqCounter = {
38
- requests: 1,
39
- };
40
- server.requestsCounter.set(ip, ipReqCounter);
41
- }
42
- else {
43
- ipReqCounter.requests++;
44
- }
45
- if (ipReqCounter.requests === 999) {
46
- server.emit('error', {
47
- ua: req.getHeader('user-agent'),
48
- ip,
49
- headers: {},
50
- }, { code: error_1.BasedErrorCode.RateLimit });
51
- }
52
- // way too arbitrary
53
- // rate limit per route....
54
- if (ipReqCounter.requests > 1000) {
55
- // console.info('RATE LIMIT', ip)
56
- // good indicator of malicious activity
57
- return true;
58
- }
59
- if (!server.requestsCounterInProgress) {
60
- drainRequestCounter(server);
61
- }
62
- return false;
63
- };
64
- exports.incomingCounter = incomingCounter;
65
- // incoming error counter is also a thing
66
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,oCAAyC;AAIzC,4CAA4C;AAC5C,uEAAuE;AAEvE,QAAQ;AAER,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAClD,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAA;IACvC,MAAM,CAAC,sBAAsB,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9C,MAAM,CAAC,yBAAyB,GAAG,KAAK,CAAA;QAExC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;gBACvB,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE;oBACvB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACjC,OAAM;oBACN,oCAAoC;iBACrC;aACF;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;aACvC;YACD,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YACtC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;YAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAA;SAC5B;IACH,CAAC,EAAE,IAAI,CAAC,CAAA;AACV,CAAC,CAAA;AAED,wBAAwB;AAExB,oCAAoC;AAC7B,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,EAAU,EACV,GAAoB,EACX,EAAE;IACX,IAAI,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,YAAY,EAAE;QACjB,YAAY,GAAG;YACb,QAAQ,EAAE,CAAC;SACZ,CAAA;QACD,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;KAC7C;SAAM;QACL,YAAY,CAAC,QAAQ,EAAE,CAAA;KACxB;IAED,IAAI,YAAY,CAAC,QAAQ,KAAK,GAAG,EAAE;QACjC,MAAM,CAAC,IAAI,CACT,OAAO,EACP;YACE,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC;YAC/B,EAAE;YACF,OAAO,EAAE,EAAE;SACZ,EACD,EAAE,IAAI,EAAE,sBAAc,CAAC,SAAS,EAAE,CACnC,CAAA;KACF;IACD,oBAAoB;IACpB,2BAA2B;IAC3B,IAAI,YAAY,CAAC,QAAQ,GAAG,IAAI,EAAE;QAChC,kCAAkC;QAClC,uCAAuC;QACvC,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE;QACrC,mBAAmB,CAAC,MAAM,CAAC,CAAA;KAC5B;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAvCY,QAAA,eAAe,mBAuC3B;AAED,yCAAyC"}
package/dist/types.d.ts DELETED
@@ -1,129 +0,0 @@
1
- /// <reference types="node" />
2
- import Client from './Client';
3
- import uws from '@based/uws';
4
- import { ConnectOptions } from '@saulx/selva';
5
- import Based from './BasedServerClient';
6
- import { Params } from './Params';
7
- import { BasedServer } from '.';
8
- import { ErrorObject, GenericObject, Based as BasedAdminClient } from '@based/client';
9
- import { Readable } from 'stream';
10
- export { Client };
11
- export declare type CallParams = Omit<Params, 'update'>;
12
- export declare type ObservableParams = Omit<Params, 'user'>;
13
- export declare type DataListener = (data: GenericObject, checksum: number, error?: ErrorObject) => void;
14
- export declare type ObservableFunction = {
15
- function: (params: ObservableParams) => Promise<() => void>;
16
- authorize?: (params: CallParams) => Promise<boolean>;
17
- observable: true;
18
- shared: boolean;
19
- cnt?: number;
20
- worker?: boolean;
21
- };
22
- export declare type CallFunction = {
23
- observable: false;
24
- authorize?: (params: CallParams) => Promise<boolean>;
25
- function: (params: CallParams) => Promise<any>;
26
- cnt?: number;
27
- worker?: boolean;
28
- headers?: (params: CallParams, result: any) => Promise<{
29
- [key: string]: string;
30
- }>;
31
- };
32
- export declare const isCallFunction: (fn: CallFunction | ObservableFunction) => fn is CallFunction;
33
- export declare const isObservableFunction: (fn: CallFunction | ObservableFunction) => fn is ObservableFunction;
34
- export declare type AuthorizeFn = (params: Params) => Promise<boolean>;
35
- export declare type LoginFn = (params: Params) => Promise<GenericObject>;
36
- export declare type LogoutFn = (params: Params) => Promise<GenericObject>;
37
- export declare type RenewTokenFn = (params: Params) => Promise<GenericObject>;
38
- export declare type FileOpts = {
39
- based: Based;
40
- stream: Readable;
41
- mimeType: string;
42
- id: string;
43
- extension: string;
44
- size: number;
45
- user?: Client;
46
- };
47
- export declare type GetInitial = (server: BasedServer, name: string) => Promise<ObservableFunction | CallFunction | null>;
48
- export declare type Geo = {
49
- iso: string;
50
- long: number;
51
- lat: number;
52
- regions: string[];
53
- };
54
- export declare type Config = {
55
- noAuth?: boolean;
56
- getBasedKey?: () => Promise<string>;
57
- getApiKeysPublicKey?: () => Promise<string>;
58
- getGeo?: (ip: string) => Geo;
59
- sendEmail?: (payload: {
60
- to: string;
61
- subject: string;
62
- body: string;
63
- from?: string;
64
- }) => Promise<{
65
- status: 'ok';
66
- message?: string;
67
- } | {
68
- status: 'error';
69
- message: string;
70
- }>;
71
- storeFile?: (opts: FileOpts) => Promise<{
72
- src: string;
73
- origin: string;
74
- status: number;
75
- statusText?: string;
76
- thumb?: string;
77
- version?: string;
78
- mimeType?: string;
79
- }>;
80
- deleteFile?: (opts: {
81
- based: Based;
82
- id: string;
83
- db?: string;
84
- }) => Promise<boolean>;
85
- getAdmin?: (key: string) => Promise<BasedAdminClient>;
86
- functionConfig?: {
87
- idleTimeout: number;
88
- getInitial: GetInitial;
89
- subscribeFunctions: (cb: (err: Error, d?: any) => void) => Promise<() => void>;
90
- clear: (server: BasedServer, name: string) => Promise<void>;
91
- };
92
- secretsConfig?: {
93
- secretTimeouts?: {
94
- [name: string]: number;
95
- };
96
- idleTimeout: number;
97
- getInitial: (server: BasedServer, name: string) => Promise<string | null>;
98
- clear: (server: BasedServer, name: string) => Promise<void>;
99
- };
100
- secrets?: {
101
- [key: string]: any;
102
- };
103
- authorizeConnection?: Authorize;
104
- authorize?: AuthorizeFn;
105
- defaultAuthorize?: AuthorizeFn;
106
- login?: LoginFn;
107
- logout?: LogoutFn;
108
- renewToken?: RenewTokenFn;
109
- functions?: {
110
- [key: string]: ObservableFunction | CallFunction;
111
- };
112
- onOpen?: (...args: any[]) => void;
113
- onClose?: (...args: any[]) => void;
114
- };
115
- export declare type Authorize = (req: uws.HttpRequest, ctx: uws.us_socket_context_t) => Promise<boolean>;
116
- export declare type ServerOptions = {
117
- port?: number;
118
- useLessMemory?: boolean;
119
- key?: string;
120
- cert?: string;
121
- debug?: boolean;
122
- db: ConnectOptions;
123
- config?: Config;
124
- state?: GenericObject;
125
- };
126
- export declare type SendTokenOptions = {
127
- isBasedUser?: boolean;
128
- isApiKey?: boolean;
129
- };
package/dist/types.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isObservableFunction = exports.isCallFunction = exports.Client = void 0;
7
- const Client_1 = __importDefault(require("./Client"));
8
- exports.Client = Client_1.default;
9
- const isCallFunction = (fn) => {
10
- return fn.observable === false;
11
- };
12
- exports.isCallFunction = isCallFunction;
13
- const isObservableFunction = (fn) => {
14
- return fn.observable === true;
15
- };
16
- exports.isObservableFunction = isObservableFunction;
17
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAapB,iBAbF,gBAAM,CAaE;AAmCR,MAAM,cAAc,GAAG,CAC5B,EAAqC,EACjB,EAAE;IACtB,OAAO,EAAE,CAAC,UAAU,KAAK,KAAK,CAAA;AAChC,CAAC,CAAA;AAJY,QAAA,cAAc,kBAI1B;AAEM,MAAM,oBAAoB,GAAG,CAClC,EAAqC,EACX,EAAE;IAC5B,OAAO,EAAE,CAAC,UAAU,KAAK,IAAI,CAAA;AAC/B,CAAC,CAAA;AAJY,QAAA,oBAAoB,wBAIhC"}
@@ -1,4 +0,0 @@
1
- import uws from '@based/uws';
2
- import { BasedServer } from '.';
3
- declare const _default: (server: BasedServer, res: uws.HttpResponse, req: uws.HttpRequest, ctx: uws.us_socket_context_t) => void;
4
- export default _default;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (server, res, req,
4
- // eslint-disable-next-line
5
- ctx) => {
6
- let aborted;
7
- const onAborted = () => {
8
- aborted = true;
9
- };
10
- // res.writeStatus('101 Switching Protocols')
11
- const onAuth = (authorized) => {
12
- if (aborted) {
13
- return;
14
- }
15
- if (authorized) {
16
- const query = req.getQuery();
17
- const url = req.getUrl();
18
- const ua = req.getHeader('user-agent');
19
- const ip = req.getHeader('x-forwarded-for') ||
20
- Buffer.from(res.getRemoteAddressAsText()).toString();
21
- const origin = req.getHeader('origin');
22
- const secWebSocketKey = req.getHeader('sec-websocket-key');
23
- const secWebSocketProtocol = req.getHeader('sec-websocket-protocol');
24
- const secWebSocketExtensions = req.getHeader('sec-websocket-extensions');
25
- res.writeStatus('101 Switching Protocols');
26
- res.upgrade({
27
- query,
28
- origin,
29
- url,
30
- ua,
31
- ip,
32
- }, secWebSocketKey, secWebSocketProtocol, secWebSocketExtensions, ctx);
33
- }
34
- else {
35
- res.writeStatus('401 Unauthorized');
36
- res.end();
37
- }
38
- };
39
- res.onAborted(onAborted);
40
- if (server.config && server.config.authorizeConnection) {
41
- server.config.authorizeConnection(req, ctx).then(onAuth);
42
- }
43
- else {
44
- onAuth(true);
45
- }
46
- };
47
- //# sourceMappingURL=upgradeListener.js.map