@unieojs/unieo 0.1.0

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 (365) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +586 -0
  3. package/dist/cjs/Route.d.ts +21 -0
  4. package/dist/cjs/Route.d.ts.map +1 -0
  5. package/dist/cjs/Route.js +60 -0
  6. package/dist/cjs/Route.js.map +1 -0
  7. package/dist/cjs/common/Enum.d.ts +158 -0
  8. package/dist/cjs/common/Enum.d.ts.map +1 -0
  9. package/dist/cjs/common/Enum.js +222 -0
  10. package/dist/cjs/common/Enum.js.map +1 -0
  11. package/dist/cjs/common/Error/Base.d.ts +18 -0
  12. package/dist/cjs/common/Error/Base.d.ts.map +1 -0
  13. package/dist/cjs/common/Error/Base.js +25 -0
  14. package/dist/cjs/common/Error/Base.js.map +1 -0
  15. package/dist/cjs/common/Error/index.d.ts +59 -0
  16. package/dist/cjs/common/Error/index.d.ts.map +1 -0
  17. package/dist/cjs/common/Error/index.js +312 -0
  18. package/dist/cjs/common/Error/index.js.map +1 -0
  19. package/dist/cjs/common/constants.d.ts +2 -0
  20. package/dist/cjs/common/constants.d.ts.map +1 -0
  21. package/dist/cjs/common/constants.js +5 -0
  22. package/dist/cjs/common/constants.js.map +1 -0
  23. package/dist/cjs/core/ERPerformance.d.ts +30 -0
  24. package/dist/cjs/core/ERPerformance.d.ts.map +1 -0
  25. package/dist/cjs/core/ERPerformance.js +77 -0
  26. package/dist/cjs/core/ERPerformance.js.map +1 -0
  27. package/dist/cjs/core/Fetch.d.ts +9 -0
  28. package/dist/cjs/core/Fetch.d.ts.map +1 -0
  29. package/dist/cjs/core/Fetch.js +76 -0
  30. package/dist/cjs/core/Fetch.js.map +1 -0
  31. package/dist/cjs/core/Match.d.ts +35 -0
  32. package/dist/cjs/core/Match.d.ts.map +1 -0
  33. package/dist/cjs/core/Match.js +158 -0
  34. package/dist/cjs/core/Match.js.map +1 -0
  35. package/dist/cjs/core/Processor.d.ts +28 -0
  36. package/dist/cjs/core/Processor.d.ts.map +1 -0
  37. package/dist/cjs/core/Processor.js +3 -0
  38. package/dist/cjs/core/Processor.js.map +1 -0
  39. package/dist/cjs/core/Redirect.d.ts +17 -0
  40. package/dist/cjs/core/Redirect.d.ts.map +1 -0
  41. package/dist/cjs/core/Redirect.js +30 -0
  42. package/dist/cjs/core/Redirect.js.map +1 -0
  43. package/dist/cjs/core/RequestRewrite.d.ts +31 -0
  44. package/dist/cjs/core/RequestRewrite.d.ts.map +1 -0
  45. package/dist/cjs/core/RequestRewrite.js +201 -0
  46. package/dist/cjs/core/RequestRewrite.js.map +1 -0
  47. package/dist/cjs/core/ResponseRewrite.d.ts +26 -0
  48. package/dist/cjs/core/ResponseRewrite.d.ts.map +1 -0
  49. package/dist/cjs/core/ResponseRewrite.js +55 -0
  50. package/dist/cjs/core/ResponseRewrite.js.map +1 -0
  51. package/dist/cjs/core/RouteConfig.d.ts +21 -0
  52. package/dist/cjs/core/RouteConfig.d.ts.map +1 -0
  53. package/dist/cjs/core/RouteConfig.js +3 -0
  54. package/dist/cjs/core/RouteConfig.js.map +1 -0
  55. package/dist/cjs/core/RouteContext.d.ts +55 -0
  56. package/dist/cjs/core/RouteContext.d.ts.map +1 -0
  57. package/dist/cjs/core/RouteContext.js +199 -0
  58. package/dist/cjs/core/RouteContext.js.map +1 -0
  59. package/dist/cjs/core/Value/SourceProcessor.d.ts +47 -0
  60. package/dist/cjs/core/Value/SourceProcessor.d.ts.map +1 -0
  61. package/dist/cjs/core/Value/SourceProcessor.js +121 -0
  62. package/dist/cjs/core/Value/SourceProcessor.js.map +1 -0
  63. package/dist/cjs/core/Value/SourceProcessorManager.d.ts +7 -0
  64. package/dist/cjs/core/Value/SourceProcessorManager.d.ts.map +1 -0
  65. package/dist/cjs/core/Value/SourceProcessorManager.js +33 -0
  66. package/dist/cjs/core/Value/SourceProcessorManager.js.map +1 -0
  67. package/dist/cjs/core/Value/ValueProcessor.d.ts +25 -0
  68. package/dist/cjs/core/Value/ValueProcessor.d.ts.map +1 -0
  69. package/dist/cjs/core/Value/ValueProcessor.js +57 -0
  70. package/dist/cjs/core/Value/ValueProcessor.js.map +1 -0
  71. package/dist/cjs/core/Value/ValueProcessorManager.d.ts +8 -0
  72. package/dist/cjs/core/Value/ValueProcessorManager.d.ts.map +1 -0
  73. package/dist/cjs/core/Value/ValueProcessorManager.js +28 -0
  74. package/dist/cjs/core/Value/ValueProcessorManager.js.map +1 -0
  75. package/dist/cjs/core/Value/index.d.ts +35 -0
  76. package/dist/cjs/core/Value/index.d.ts.map +1 -0
  77. package/dist/cjs/core/Value/index.js +57 -0
  78. package/dist/cjs/core/Value/index.js.map +1 -0
  79. package/dist/cjs/core/index.d.ts +9 -0
  80. package/dist/cjs/core/index.d.ts.map +1 -0
  81. package/dist/cjs/core/index.js +25 -0
  82. package/dist/cjs/core/index.js.map +1 -0
  83. package/dist/cjs/executor/GroupExecutor.d.ts +29 -0
  84. package/dist/cjs/executor/GroupExecutor.d.ts.map +1 -0
  85. package/dist/cjs/executor/GroupExecutor.js +174 -0
  86. package/dist/cjs/executor/GroupExecutor.js.map +1 -0
  87. package/dist/cjs/executor/RouteExecutor.d.ts +26 -0
  88. package/dist/cjs/executor/RouteExecutor.d.ts.map +1 -0
  89. package/dist/cjs/executor/RouteExecutor.js +71 -0
  90. package/dist/cjs/executor/RouteExecutor.js.map +1 -0
  91. package/dist/cjs/executor/SubExecutor.d.ts +20 -0
  92. package/dist/cjs/executor/SubExecutor.d.ts.map +1 -0
  93. package/dist/cjs/executor/SubExecutor.js +127 -0
  94. package/dist/cjs/executor/SubExecutor.js.map +1 -0
  95. package/dist/cjs/executor/enum.d.ts +5 -0
  96. package/dist/cjs/executor/enum.d.ts.map +1 -0
  97. package/dist/cjs/executor/enum.js +9 -0
  98. package/dist/cjs/executor/enum.js.map +1 -0
  99. package/dist/cjs/executor/index.d.ts +5 -0
  100. package/dist/cjs/executor/index.d.ts.map +1 -0
  101. package/dist/cjs/executor/index.js +21 -0
  102. package/dist/cjs/executor/index.js.map +1 -0
  103. package/dist/cjs/index.d.ts +6 -0
  104. package/dist/cjs/index.d.ts.map +1 -0
  105. package/dist/cjs/index.js +22 -0
  106. package/dist/cjs/index.js.map +1 -0
  107. package/dist/cjs/middleware/DefaultFetch.d.ts +8 -0
  108. package/dist/cjs/middleware/DefaultFetch.d.ts.map +1 -0
  109. package/dist/cjs/middleware/DefaultFetch.js +36 -0
  110. package/dist/cjs/middleware/DefaultFetch.js.map +1 -0
  111. package/dist/cjs/middleware/ErrorFallback.d.ts +7 -0
  112. package/dist/cjs/middleware/ErrorFallback.d.ts.map +1 -0
  113. package/dist/cjs/middleware/ErrorFallback.js +30 -0
  114. package/dist/cjs/middleware/ErrorFallback.js.map +1 -0
  115. package/dist/cjs/middleware/index.d.ts +16 -0
  116. package/dist/cjs/middleware/index.d.ts.map +1 -0
  117. package/dist/cjs/middleware/index.js +119 -0
  118. package/dist/cjs/middleware/index.js.map +1 -0
  119. package/dist/cjs/middleware/types.d.ts +13 -0
  120. package/dist/cjs/middleware/types.d.ts.map +1 -0
  121. package/dist/cjs/middleware/types.js +3 -0
  122. package/dist/cjs/middleware/types.js.map +1 -0
  123. package/dist/cjs/processor/Factory.d.ts +19 -0
  124. package/dist/cjs/processor/Factory.d.ts.map +1 -0
  125. package/dist/cjs/processor/Factory.js +72 -0
  126. package/dist/cjs/processor/Factory.js.map +1 -0
  127. package/dist/cjs/processor/RouteProcessor.d.ts +13 -0
  128. package/dist/cjs/processor/RouteProcessor.d.ts.map +1 -0
  129. package/dist/cjs/processor/RouteProcessor.js +12 -0
  130. package/dist/cjs/processor/RouteProcessor.js.map +1 -0
  131. package/dist/cjs/processor/group/CommonGroupProcessor.d.ts +36 -0
  132. package/dist/cjs/processor/group/CommonGroupProcessor.d.ts.map +1 -0
  133. package/dist/cjs/processor/group/CommonGroupProcessor.js +41 -0
  134. package/dist/cjs/processor/group/CommonGroupProcessor.js.map +1 -0
  135. package/dist/cjs/processor/index.d.ts +4 -0
  136. package/dist/cjs/processor/index.d.ts.map +1 -0
  137. package/dist/cjs/processor/index.js +8 -0
  138. package/dist/cjs/processor/index.js.map +1 -0
  139. package/dist/cjs/processor/sub/CommonSubProcessor.d.ts +46 -0
  140. package/dist/cjs/processor/sub/CommonSubProcessor.d.ts.map +1 -0
  141. package/dist/cjs/processor/sub/CommonSubProcessor.js +68 -0
  142. package/dist/cjs/processor/sub/CommonSubProcessor.js.map +1 -0
  143. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  144. package/dist/cjs/util/Array.d.ts +3 -0
  145. package/dist/cjs/util/Array.d.ts.map +1 -0
  146. package/dist/cjs/util/Array.js +15 -0
  147. package/dist/cjs/util/Array.js.map +1 -0
  148. package/dist/cjs/util/Header.d.ts +5 -0
  149. package/dist/cjs/util/Header.d.ts.map +1 -0
  150. package/dist/cjs/util/Header.js +87 -0
  151. package/dist/cjs/util/Header.js.map +1 -0
  152. package/dist/cjs/util/LogUtil.d.ts +2 -0
  153. package/dist/cjs/util/LogUtil.d.ts.map +1 -0
  154. package/dist/cjs/util/LogUtil.js +10 -0
  155. package/dist/cjs/util/LogUtil.js.map +1 -0
  156. package/dist/cjs/util/PathRegexp.d.ts +12 -0
  157. package/dist/cjs/util/PathRegexp.d.ts.map +1 -0
  158. package/dist/cjs/util/PathRegexp.js +74 -0
  159. package/dist/cjs/util/PathRegexp.js.map +1 -0
  160. package/dist/cjs/util/PrefixLogger.d.ts +13 -0
  161. package/dist/cjs/util/PrefixLogger.d.ts.map +1 -0
  162. package/dist/cjs/util/PrefixLogger.js +38 -0
  163. package/dist/cjs/util/PrefixLogger.js.map +1 -0
  164. package/dist/cjs/util/RedirectHelper.d.ts +29 -0
  165. package/dist/cjs/util/RedirectHelper.d.ts.map +1 -0
  166. package/dist/cjs/util/RedirectHelper.js +140 -0
  167. package/dist/cjs/util/RedirectHelper.js.map +1 -0
  168. package/dist/cjs/util/Request.d.ts +11 -0
  169. package/dist/cjs/util/Request.d.ts.map +1 -0
  170. package/dist/cjs/util/Request.js +25 -0
  171. package/dist/cjs/util/Request.js.map +1 -0
  172. package/dist/cjs/util/Response.d.ts +12 -0
  173. package/dist/cjs/util/Response.d.ts.map +1 -0
  174. package/dist/cjs/util/Response.js +31 -0
  175. package/dist/cjs/util/Response.js.map +1 -0
  176. package/dist/cjs/util/Template.d.ts +2 -0
  177. package/dist/cjs/util/Template.d.ts.map +1 -0
  178. package/dist/cjs/util/Template.js +14 -0
  179. package/dist/cjs/util/Template.js.map +1 -0
  180. package/dist/cjs/util/Url.d.ts +19 -0
  181. package/dist/cjs/util/Url.d.ts.map +1 -0
  182. package/dist/cjs/util/Url.js +112 -0
  183. package/dist/cjs/util/Url.js.map +1 -0
  184. package/dist/esm/Route.d.ts +21 -0
  185. package/dist/esm/Route.d.ts.map +1 -0
  186. package/dist/esm/Route.js +56 -0
  187. package/dist/esm/Route.js.map +1 -0
  188. package/dist/esm/common/Enum.d.ts +158 -0
  189. package/dist/esm/common/Enum.d.ts.map +1 -0
  190. package/dist/esm/common/Enum.js +219 -0
  191. package/dist/esm/common/Enum.js.map +1 -0
  192. package/dist/esm/common/Error/Base.d.ts +18 -0
  193. package/dist/esm/common/Error/Base.d.ts.map +1 -0
  194. package/dist/esm/common/Error/Base.js +21 -0
  195. package/dist/esm/common/Error/Base.js.map +1 -0
  196. package/dist/esm/common/Error/index.d.ts +59 -0
  197. package/dist/esm/common/Error/index.d.ts.map +1 -0
  198. package/dist/esm/common/Error/index.js +294 -0
  199. package/dist/esm/common/Error/index.js.map +1 -0
  200. package/dist/esm/common/constants.d.ts +2 -0
  201. package/dist/esm/common/constants.d.ts.map +1 -0
  202. package/dist/esm/common/constants.js +2 -0
  203. package/dist/esm/common/constants.js.map +1 -0
  204. package/dist/esm/core/ERPerformance.d.ts +30 -0
  205. package/dist/esm/core/ERPerformance.d.ts.map +1 -0
  206. package/dist/esm/core/ERPerformance.js +72 -0
  207. package/dist/esm/core/ERPerformance.js.map +1 -0
  208. package/dist/esm/core/Fetch.d.ts +9 -0
  209. package/dist/esm/core/Fetch.d.ts.map +1 -0
  210. package/dist/esm/core/Fetch.js +72 -0
  211. package/dist/esm/core/Fetch.js.map +1 -0
  212. package/dist/esm/core/Match.d.ts +35 -0
  213. package/dist/esm/core/Match.d.ts.map +1 -0
  214. package/dist/esm/core/Match.js +154 -0
  215. package/dist/esm/core/Match.js.map +1 -0
  216. package/dist/esm/core/Processor.d.ts +28 -0
  217. package/dist/esm/core/Processor.d.ts.map +1 -0
  218. package/dist/esm/core/Processor.js +2 -0
  219. package/dist/esm/core/Processor.js.map +1 -0
  220. package/dist/esm/core/Redirect.d.ts +17 -0
  221. package/dist/esm/core/Redirect.d.ts.map +1 -0
  222. package/dist/esm/core/Redirect.js +26 -0
  223. package/dist/esm/core/Redirect.js.map +1 -0
  224. package/dist/esm/core/RequestRewrite.d.ts +31 -0
  225. package/dist/esm/core/RequestRewrite.d.ts.map +1 -0
  226. package/dist/esm/core/RequestRewrite.js +194 -0
  227. package/dist/esm/core/RequestRewrite.js.map +1 -0
  228. package/dist/esm/core/ResponseRewrite.d.ts +26 -0
  229. package/dist/esm/core/ResponseRewrite.d.ts.map +1 -0
  230. package/dist/esm/core/ResponseRewrite.js +51 -0
  231. package/dist/esm/core/ResponseRewrite.js.map +1 -0
  232. package/dist/esm/core/RouteConfig.d.ts +21 -0
  233. package/dist/esm/core/RouteConfig.d.ts.map +1 -0
  234. package/dist/esm/core/RouteConfig.js +2 -0
  235. package/dist/esm/core/RouteConfig.js.map +1 -0
  236. package/dist/esm/core/RouteContext.d.ts +55 -0
  237. package/dist/esm/core/RouteContext.d.ts.map +1 -0
  238. package/dist/esm/core/RouteContext.js +195 -0
  239. package/dist/esm/core/RouteContext.js.map +1 -0
  240. package/dist/esm/core/Value/SourceProcessor.d.ts +47 -0
  241. package/dist/esm/core/Value/SourceProcessor.d.ts.map +1 -0
  242. package/dist/esm/core/Value/SourceProcessor.js +105 -0
  243. package/dist/esm/core/Value/SourceProcessor.js.map +1 -0
  244. package/dist/esm/core/Value/SourceProcessorManager.d.ts +7 -0
  245. package/dist/esm/core/Value/SourceProcessorManager.d.ts.map +1 -0
  246. package/dist/esm/core/Value/SourceProcessorManager.js +29 -0
  247. package/dist/esm/core/Value/SourceProcessorManager.js.map +1 -0
  248. package/dist/esm/core/Value/ValueProcessor.d.ts +25 -0
  249. package/dist/esm/core/Value/ValueProcessor.d.ts.map +1 -0
  250. package/dist/esm/core/Value/ValueProcessor.js +48 -0
  251. package/dist/esm/core/Value/ValueProcessor.js.map +1 -0
  252. package/dist/esm/core/Value/ValueProcessorManager.d.ts +8 -0
  253. package/dist/esm/core/Value/ValueProcessorManager.d.ts.map +1 -0
  254. package/dist/esm/core/Value/ValueProcessorManager.js +24 -0
  255. package/dist/esm/core/Value/ValueProcessorManager.js.map +1 -0
  256. package/dist/esm/core/Value/index.d.ts +35 -0
  257. package/dist/esm/core/Value/index.d.ts.map +1 -0
  258. package/dist/esm/core/Value/index.js +53 -0
  259. package/dist/esm/core/Value/index.js.map +1 -0
  260. package/dist/esm/core/index.d.ts +9 -0
  261. package/dist/esm/core/index.d.ts.map +1 -0
  262. package/dist/esm/core/index.js +9 -0
  263. package/dist/esm/core/index.js.map +1 -0
  264. package/dist/esm/executor/GroupExecutor.d.ts +29 -0
  265. package/dist/esm/executor/GroupExecutor.d.ts.map +1 -0
  266. package/dist/esm/executor/GroupExecutor.js +170 -0
  267. package/dist/esm/executor/GroupExecutor.js.map +1 -0
  268. package/dist/esm/executor/RouteExecutor.d.ts +26 -0
  269. package/dist/esm/executor/RouteExecutor.d.ts.map +1 -0
  270. package/dist/esm/executor/RouteExecutor.js +67 -0
  271. package/dist/esm/executor/RouteExecutor.js.map +1 -0
  272. package/dist/esm/executor/SubExecutor.d.ts +20 -0
  273. package/dist/esm/executor/SubExecutor.d.ts.map +1 -0
  274. package/dist/esm/executor/SubExecutor.js +123 -0
  275. package/dist/esm/executor/SubExecutor.js.map +1 -0
  276. package/dist/esm/executor/enum.d.ts +5 -0
  277. package/dist/esm/executor/enum.d.ts.map +1 -0
  278. package/dist/esm/executor/enum.js +6 -0
  279. package/dist/esm/executor/enum.js.map +1 -0
  280. package/dist/esm/executor/index.d.ts +5 -0
  281. package/dist/esm/executor/index.d.ts.map +1 -0
  282. package/dist/esm/executor/index.js +5 -0
  283. package/dist/esm/executor/index.js.map +1 -0
  284. package/dist/esm/index.d.ts +6 -0
  285. package/dist/esm/index.d.ts.map +1 -0
  286. package/dist/esm/index.js +6 -0
  287. package/dist/esm/index.js.map +1 -0
  288. package/dist/esm/middleware/DefaultFetch.d.ts +8 -0
  289. package/dist/esm/middleware/DefaultFetch.d.ts.map +1 -0
  290. package/dist/esm/middleware/DefaultFetch.js +34 -0
  291. package/dist/esm/middleware/DefaultFetch.js.map +1 -0
  292. package/dist/esm/middleware/ErrorFallback.d.ts +7 -0
  293. package/dist/esm/middleware/ErrorFallback.d.ts.map +1 -0
  294. package/dist/esm/middleware/ErrorFallback.js +28 -0
  295. package/dist/esm/middleware/ErrorFallback.js.map +1 -0
  296. package/dist/esm/middleware/index.d.ts +16 -0
  297. package/dist/esm/middleware/index.d.ts.map +1 -0
  298. package/dist/esm/middleware/index.js +112 -0
  299. package/dist/esm/middleware/index.js.map +1 -0
  300. package/dist/esm/middleware/types.d.ts +13 -0
  301. package/dist/esm/middleware/types.d.ts.map +1 -0
  302. package/dist/esm/middleware/types.js +2 -0
  303. package/dist/esm/middleware/types.js.map +1 -0
  304. package/dist/esm/processor/Factory.d.ts +19 -0
  305. package/dist/esm/processor/Factory.d.ts.map +1 -0
  306. package/dist/esm/processor/Factory.js +68 -0
  307. package/dist/esm/processor/Factory.js.map +1 -0
  308. package/dist/esm/processor/RouteProcessor.d.ts +13 -0
  309. package/dist/esm/processor/RouteProcessor.d.ts.map +1 -0
  310. package/dist/esm/processor/RouteProcessor.js +8 -0
  311. package/dist/esm/processor/RouteProcessor.js.map +1 -0
  312. package/dist/esm/processor/group/CommonGroupProcessor.d.ts +36 -0
  313. package/dist/esm/processor/group/CommonGroupProcessor.d.ts.map +1 -0
  314. package/dist/esm/processor/group/CommonGroupProcessor.js +37 -0
  315. package/dist/esm/processor/group/CommonGroupProcessor.js.map +1 -0
  316. package/dist/esm/processor/index.d.ts +4 -0
  317. package/dist/esm/processor/index.d.ts.map +1 -0
  318. package/dist/esm/processor/index.js +3 -0
  319. package/dist/esm/processor/index.js.map +1 -0
  320. package/dist/esm/processor/sub/CommonSubProcessor.d.ts +46 -0
  321. package/dist/esm/processor/sub/CommonSubProcessor.d.ts.map +1 -0
  322. package/dist/esm/processor/sub/CommonSubProcessor.js +64 -0
  323. package/dist/esm/processor/sub/CommonSubProcessor.js.map +1 -0
  324. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  325. package/dist/esm/util/Array.d.ts +3 -0
  326. package/dist/esm/util/Array.d.ts.map +1 -0
  327. package/dist/esm/util/Array.js +11 -0
  328. package/dist/esm/util/Array.js.map +1 -0
  329. package/dist/esm/util/Header.d.ts +5 -0
  330. package/dist/esm/util/Header.d.ts.map +1 -0
  331. package/dist/esm/util/Header.js +81 -0
  332. package/dist/esm/util/Header.js.map +1 -0
  333. package/dist/esm/util/LogUtil.d.ts +2 -0
  334. package/dist/esm/util/LogUtil.d.ts.map +1 -0
  335. package/dist/esm/util/LogUtil.js +7 -0
  336. package/dist/esm/util/LogUtil.js.map +1 -0
  337. package/dist/esm/util/PathRegexp.d.ts +12 -0
  338. package/dist/esm/util/PathRegexp.d.ts.map +1 -0
  339. package/dist/esm/util/PathRegexp.js +69 -0
  340. package/dist/esm/util/PathRegexp.js.map +1 -0
  341. package/dist/esm/util/PrefixLogger.d.ts +13 -0
  342. package/dist/esm/util/PrefixLogger.d.ts.map +1 -0
  343. package/dist/esm/util/PrefixLogger.js +34 -0
  344. package/dist/esm/util/PrefixLogger.js.map +1 -0
  345. package/dist/esm/util/RedirectHelper.d.ts +29 -0
  346. package/dist/esm/util/RedirectHelper.d.ts.map +1 -0
  347. package/dist/esm/util/RedirectHelper.js +136 -0
  348. package/dist/esm/util/RedirectHelper.js.map +1 -0
  349. package/dist/esm/util/Request.d.ts +11 -0
  350. package/dist/esm/util/Request.d.ts.map +1 -0
  351. package/dist/esm/util/Request.js +20 -0
  352. package/dist/esm/util/Request.js.map +1 -0
  353. package/dist/esm/util/Response.d.ts +12 -0
  354. package/dist/esm/util/Response.d.ts.map +1 -0
  355. package/dist/esm/util/Response.js +25 -0
  356. package/dist/esm/util/Response.js.map +1 -0
  357. package/dist/esm/util/Template.d.ts +2 -0
  358. package/dist/esm/util/Template.d.ts.map +1 -0
  359. package/dist/esm/util/Template.js +11 -0
  360. package/dist/esm/util/Template.js.map +1 -0
  361. package/dist/esm/util/Url.d.ts +19 -0
  362. package/dist/esm/util/Url.d.ts.map +1 -0
  363. package/dist/esm/util/Url.js +99 -0
  364. package/dist/esm/util/Url.js.map +1 -0
  365. package/package.json +69 -0
@@ -0,0 +1,294 @@
1
+ import { BaseError } from './Base';
2
+ export * from './Base';
3
+ export var ErrorCode;
4
+ (function (ErrorCode) {
5
+ /* ER 执行链路错误 - 1xxx */
6
+ ErrorCode[ErrorCode["HostNotAccessError"] = 1001] = "HostNotAccessError";
7
+ ErrorCode[ErrorCode["GroupProcessorNotFoundError"] = 1002] = "GroupProcessorNotFoundError";
8
+ ErrorCode[ErrorCode["SubProcessorNotFoundError"] = 1003] = "SubProcessorNotFoundError";
9
+ ErrorCode[ErrorCode["SubRouteCheckHostAccessError"] = 1004] = "SubRouteCheckHostAccessError";
10
+ ErrorCode[ErrorCode["SubRouteInitHostInfoError"] = 1005] = "SubRouteInitHostInfoError";
11
+ ErrorCode[ErrorCode["SubRouteBeforeRequestError"] = 1006] = "SubRouteBeforeRequestError";
12
+ ErrorCode[ErrorCode["SubRouteBeforeResponseError"] = 1007] = "SubRouteBeforeResponseError";
13
+ ErrorCode[ErrorCode["RequestMiddlewareNotFoundError"] = 1008] = "RequestMiddlewareNotFoundError";
14
+ ErrorCode[ErrorCode["RequestMiddlewareResponseInvalidError"] = 1009] = "RequestMiddlewareResponseInvalidError";
15
+ ErrorCode[ErrorCode["HostResourceConfigInvalidError"] = 1010] = "HostResourceConfigInvalidError";
16
+ ErrorCode[ErrorCode["PackRouteConfigInvalidError"] = 1011] = "PackRouteConfigInvalidError";
17
+ ErrorCode[ErrorCode["HostResourceRequestError"] = 1012] = "HostResourceRequestError";
18
+ ErrorCode[ErrorCode["RevisionNotFoundError"] = 1013] = "RevisionNotFoundError";
19
+ ErrorCode[ErrorCode["SubRouteRedirectError"] = 1014] = "SubRouteRedirectError";
20
+ ErrorCode[ErrorCode["RequestMiddlewareRedefined"] = 1015] = "RequestMiddlewareRedefined";
21
+ ErrorCode[ErrorCode["SubRouteCheckHostForbidError"] = 1016] = "SubRouteCheckHostForbidError";
22
+ ErrorCode[ErrorCode["HostInfoNotInitError"] = 1017] = "HostInfoNotInitError";
23
+ ErrorCode[ErrorCode["CreateSubRouteContextError"] = 1018] = "CreateSubRouteContextError";
24
+ ErrorCode[ErrorCode["AliyunHttpClientForbidRouteExecuteError"] = 1019] = "AliyunHttpClientForbidRouteExecuteError";
25
+ ErrorCode[ErrorCode["MethodNotAllowed"] = 1020] = "MethodNotAllowed";
26
+ ErrorCode[ErrorCode["PathmapError"] = 1021] = "PathmapError";
27
+ ErrorCode[ErrorCode["AMDCConfigError"] = 1022] = "AMDCConfigError";
28
+ ErrorCode[ErrorCode["AMDCRequestError"] = 1023] = "AMDCRequestError";
29
+ ErrorCode[ErrorCode["CORSHeaderAppendError"] = 1024] = "CORSHeaderAppendError";
30
+ ErrorCode[ErrorCode["PathForbidden"] = 1025] = "PathForbidden";
31
+ ErrorCode[ErrorCode["SubRouteCheckHostInterceptError"] = 1026] = "SubRouteCheckHostInterceptError";
32
+ ErrorCode[ErrorCode["RequestNotAllowed"] = 1027] = "RequestNotAllowed";
33
+ /* KV 调用错误 - 2xxx */
34
+ ErrorCode[ErrorCode["EdgeKVNotFoundError"] = 2001] = "EdgeKVNotFoundError";
35
+ ErrorCode[ErrorCode["EdgeKVRequestError"] = 2002] = "EdgeKVRequestError";
36
+ ErrorCode[ErrorCode["EdgeKVTimeoutError"] = 2003] = "EdgeKVTimeoutError";
37
+ /* SYSTEM ERROR - 3xxx */
38
+ ErrorCode[ErrorCode["SystemError"] = 3001] = "SystemError";
39
+ ErrorCode[ErrorCode["NotFoundRenderOriginHostError"] = 3002] = "NotFoundRenderOriginHostError";
40
+ ErrorCode[ErrorCode["NotFoundTernError"] = 3003] = "NotFoundTernError";
41
+ ErrorCode[ErrorCode["NotFoundWebGWHostError"] = 3004] = "NotFoundWebGWHostError";
42
+ ErrorCode[ErrorCode["TimeoutError"] = 3005] = "TimeoutError";
43
+ /* RENDER 调用 - 4xxx */
44
+ ErrorCode[ErrorCode["RenderConfigRequestError"] = 4001] = "RenderConfigRequestError";
45
+ ErrorCode[ErrorCode["RenderConfigTimeoutError"] = 4002] = "RenderConfigTimeoutError";
46
+ ErrorCode[ErrorCode["RenderAssetsRequestError"] = 4003] = "RenderAssetsRequestError";
47
+ ErrorCode[ErrorCode["UnioVersionNotFoundError"] = 4004] = "UnioVersionNotFoundError";
48
+ /* FC 调用 - 5xxx */
49
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidError"] = 5001] = "SSRPreludeResponseInvalidError";
50
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidErrorAsEmptyVersion"] = 5002] = "SSRPreludeResponseInvalidErrorAsEmptyVersion";
51
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidErrorAsEmptyBody"] = 5003] = "SSRPreludeResponseInvalidErrorAsEmptyBody";
52
+ ErrorCode[ErrorCode["SSRPostponedResponseInvalidError"] = 5010] = "SSRPostponedResponseInvalidError";
53
+ ErrorCode[ErrorCode["SSRPostponedUncheckedError"] = 5100] = "SSRPostponedUncheckedError";
54
+ ErrorCode[ErrorCode["SSRResponseStreamTimeout"] = 5200] = "SSRResponseStreamTimeout";
55
+ /* 登录鉴权 - 6xxx */
56
+ ErrorCode[ErrorCode["UserRouteConfigInvalidError"] = 6001] = "UserRouteConfigInvalidError";
57
+ ErrorCode[ErrorCode["UnauthenticatedError"] = 6002] = "UnauthenticatedError";
58
+ /* 中间件 - 7xxx */
59
+ ErrorCode[ErrorCode["TernMiddlewareError"] = 7001] = "TernMiddlewareError";
60
+ ErrorCode[ErrorCode["TernSiteExecutorStageError"] = 7002] = "TernSiteExecutorStageError";
61
+ ErrorCode[ErrorCode["TernResourceStatusError"] = 7003] = "TernResourceStatusError";
62
+ })(ErrorCode || (ErrorCode = {}));
63
+ const ERROR_DEFINITION = {
64
+ [ErrorCode.RequestNotAllowed]: {
65
+ name: 'RequestNotAllowed',
66
+ message: 'request not allowed',
67
+ },
68
+ [ErrorCode.HostNotAccessError]: {
69
+ name: 'HostNotAccessError',
70
+ message: 'host not permit to execute route',
71
+ },
72
+ [ErrorCode.GroupProcessorNotFoundError]: {
73
+ name: 'GroupProcessorNotFoundError',
74
+ message: 'create group processor with type not found',
75
+ },
76
+ [ErrorCode.SubProcessorNotFoundError]: {
77
+ name: 'SubProcessorNotFoundError',
78
+ message: 'create sub processor with type not found',
79
+ },
80
+ [ErrorCode.SubRouteCheckHostInterceptError]: {
81
+ name: 'SubRouteCheckHostInterceptError',
82
+ message: 'sub route check host intercept execute error',
83
+ },
84
+ [ErrorCode.SubRouteCheckHostAccessError]: {
85
+ name: 'SubRouteCheckHostAccessError',
86
+ message: 'sub route check host access execute error',
87
+ },
88
+ [ErrorCode.SubRouteCheckHostForbidError]: {
89
+ name: 'SubRouteCheckHostForbidError',
90
+ message: 'sub route check host forbidden execute error',
91
+ },
92
+ [ErrorCode.HostInfoNotInitError]: {
93
+ name: 'HostInfoNotInitError',
94
+ message: 'hostInfo not init',
95
+ },
96
+ [ErrorCode.CreateSubRouteContextError]: {
97
+ name: 'CreateSubRouteContextError',
98
+ message: 'subRouteContext create error',
99
+ },
100
+ [ErrorCode.AliyunHttpClientForbidRouteExecuteError]: {
101
+ name: 'AliyunHttpClientForbidRouteExecuteError',
102
+ message: 'aliyunHttpClient forbid routeExecute',
103
+ },
104
+ [ErrorCode.MethodNotAllowed]: {
105
+ name: 'MethodNotAllowed',
106
+ message: 'method not allowed',
107
+ },
108
+ [ErrorCode.PathForbidden]: {
109
+ name: 'PathForbidden',
110
+ message: 'path is forbidden',
111
+ },
112
+ [ErrorCode.PathmapError]: {
113
+ name: 'PathmapError',
114
+ message: 'pathmap error',
115
+ },
116
+ [ErrorCode.AMDCConfigError]: {
117
+ name: 'AMDCConfigError',
118
+ message: 'AMDC config error',
119
+ },
120
+ [ErrorCode.AMDCRequestError]: {
121
+ name: 'AMDCRequestError',
122
+ message: 'AMDC request error',
123
+ },
124
+ [ErrorCode.CORSHeaderAppendError]: {
125
+ name: 'CORSHeaderAppendError',
126
+ message: 'append CORS header error',
127
+ },
128
+ [ErrorCode.SubRouteInitHostInfoError]: {
129
+ name: 'SubRouteInitHostInfoError',
130
+ message: 'sub route init host info execute error',
131
+ },
132
+ [ErrorCode.SubRouteBeforeRequestError]: {
133
+ name: 'SubRouteBeforeRequestError',
134
+ message: 'sub route before request execute error',
135
+ },
136
+ [ErrorCode.SubRouteBeforeResponseError]: {
137
+ name: 'SubRouteBeforeResponseError',
138
+ message: 'sub route before response execute error',
139
+ },
140
+ [ErrorCode.RequestMiddlewareNotFoundError]: {
141
+ name: 'RequestMiddlewareNotFoundError',
142
+ message: 'request middleware not found',
143
+ },
144
+ [ErrorCode.RequestMiddlewareResponseInvalidError]: {
145
+ name: 'RequestMiddlewareResponseInvalidError',
146
+ message: 'request middleware response invalid',
147
+ },
148
+ [ErrorCode.HostResourceConfigInvalidError]: {
149
+ name: 'HostResourceConfigInvalidError',
150
+ message: 'host resource config invalid',
151
+ },
152
+ [ErrorCode.PackRouteConfigInvalidError]: {
153
+ name: 'PackRouteConfigInvalidError',
154
+ message: 'pack route config request from render with invalid code',
155
+ },
156
+ [ErrorCode.HostResourceRequestError]: {
157
+ name: 'HostResourceRequestError',
158
+ message: 'host resource request error',
159
+ },
160
+ [ErrorCode.RevisionNotFoundError]: {
161
+ name: 'RevisionNotFoundError',
162
+ message: 'revision not found',
163
+ },
164
+ [ErrorCode.SubRouteRedirectError]: {
165
+ name: 'SubRouteRedirectError',
166
+ message: 'sub route redirect execute error',
167
+ },
168
+ [ErrorCode.RequestMiddlewareRedefined]: {
169
+ name: 'RequestMiddlewareRedefined',
170
+ message: 'request middleware redefined error',
171
+ },
172
+ [ErrorCode.EdgeKVNotFoundError]: {
173
+ name: 'EdgeKVNotFoundError',
174
+ message: 'EdgeKV not found',
175
+ },
176
+ [ErrorCode.EdgeKVRequestError]: {
177
+ name: 'EdgeKVRequestError',
178
+ message: 'EdgeKV request error',
179
+ },
180
+ [ErrorCode.EdgeKVTimeoutError]: {
181
+ name: 'EdgeKVTimeoutError',
182
+ message: 'EdgeKV request timeout',
183
+ },
184
+ [ErrorCode.SystemError]: {
185
+ name: 'SystemError',
186
+ message: 'system error',
187
+ },
188
+ [ErrorCode.NotFoundTernError]: {
189
+ name: 'NotFoundTernError',
190
+ message: 'tern not found',
191
+ },
192
+ [ErrorCode.NotFoundWebGWHostError]: {
193
+ name: 'NotFoundWebGWHostError',
194
+ message: 'not found webGWHost',
195
+ },
196
+ [ErrorCode.TimeoutError]: {
197
+ name: 'TimeoutError',
198
+ message: 'timeout',
199
+ },
200
+ [ErrorCode.NotFoundRenderOriginHostError]: {
201
+ name: 'NotFoundRenderOriginHostError',
202
+ message: 'not found renderOriginHost',
203
+ },
204
+ [ErrorCode.RenderConfigRequestError]: {
205
+ name: 'RenderConfigRequestError',
206
+ message: 'render config request error',
207
+ },
208
+ [ErrorCode.RenderConfigTimeoutError]: {
209
+ name: 'RenderConfigTimeoutError',
210
+ message: 'render config request timeout',
211
+ },
212
+ [ErrorCode.RenderAssetsRequestError]: {
213
+ name: 'RenderAssetsRequestError',
214
+ message: 'render assets request error',
215
+ },
216
+ [ErrorCode.UnioVersionNotFoundError]: {
217
+ name: 'UnioVersionNotFoundError',
218
+ message: 'html has no unio version on response header',
219
+ },
220
+ [ErrorCode.SSRPreludeResponseInvalidError]: {
221
+ name: 'SSRPreludeResponseInvalidError',
222
+ message: 'ssr prelude response invalid',
223
+ },
224
+ [ErrorCode.SSRPreludeResponseInvalidErrorAsEmptyVersion]: {
225
+ name: 'SSRPreludeResponseInvalidErrorAsEmptyVersion',
226
+ message: 'ssr prelude response invalid as empty version',
227
+ },
228
+ [ErrorCode.SSRPreludeResponseInvalidErrorAsEmptyBody]: {
229
+ name: 'SSRPreludeResponseInvalidErrorAsEmptyBody',
230
+ message: 'ssr prelude response invalid as empty body',
231
+ },
232
+ [ErrorCode.SSRPostponedResponseInvalidError]: {
233
+ name: 'SSRPostponedResponseInvalidError',
234
+ message: 'ssr postponed response invalid error',
235
+ },
236
+ [ErrorCode.SSRPostponedUncheckedError]: {
237
+ name: 'SSRPostponedUncheckedError',
238
+ message: 'ssr postponed unchecked error',
239
+ },
240
+ [ErrorCode.SSRResponseStreamTimeout]: {
241
+ name: 'SSRResponseStreamTimeout',
242
+ message: 'ssr response stream timeout',
243
+ },
244
+ [ErrorCode.UserRouteConfigInvalidError]: {
245
+ name: 'UserRouteConfigInvalidError',
246
+ message: 'user route config invalid error',
247
+ },
248
+ [ErrorCode.UnauthenticatedError]: {
249
+ name: 'UnauthenticatedError',
250
+ message: 'unauthenticated',
251
+ },
252
+ [ErrorCode.TernMiddlewareError]: {
253
+ name: 'TernMiddlewareError',
254
+ message: 'tern middleware executing error',
255
+ },
256
+ [ErrorCode.TernSiteExecutorStageError]: {
257
+ name: 'TernSiteExecutorStageError',
258
+ message: 'tern siteExecutor stage error',
259
+ },
260
+ [ErrorCode.TernResourceStatusError]: {
261
+ name: 'TernResourceStatusError',
262
+ message: 'tern resource status error',
263
+ },
264
+ };
265
+ export function genError(code, errorOption) {
266
+ let errorConfig = ERROR_DEFINITION[code];
267
+ let errorMessage = errorConfig.message;
268
+ if (typeof errorOption === 'string') {
269
+ errorMessage += `: ${errorOption}`;
270
+ }
271
+ else if (errorOption instanceof Error) {
272
+ errorMessage += `: ${errorOption.message}`;
273
+ errorConfig = {
274
+ ...errorConfig,
275
+ // 原生异常的 name 跟 stack 都不可枚举,不能用析构
276
+ name: errorOption.name,
277
+ stack: errorOption.stack,
278
+ };
279
+ }
280
+ else if (errorOption?.message) {
281
+ errorMessage += `: ${errorOption.message}`;
282
+ errorConfig = {
283
+ ...errorConfig,
284
+ ...errorOption,
285
+ };
286
+ }
287
+ // 将 error 转换为标准的 error 模型
288
+ return new BaseError({
289
+ ...errorConfig,
290
+ code,
291
+ message: errorMessage,
292
+ });
293
+ }
294
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/Error/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const RENDER_ROUTE_ERROR_HEADER = "x-unio-error";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const RENDER_ROUTE_ERROR_HEADER = 'x-unio-error';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare enum PERFORMANCE_STAGE {
2
+ ER_EXECUTION = "e1",
3
+ ER_SSR_PRELUDE_CONNECTION = "e2",
4
+ ER_SSR_POSTPONED_CONNECTION = "e3"
5
+ }
6
+ export declare const serverTimingHeader = "server-timing";
7
+ type Measure = (during?: number) => void;
8
+ export declare class ERPerformance {
9
+ private readonly stages;
10
+ private serialize;
11
+ mark(stage: PERFORMANCE_STAGE): Measure;
12
+ autoMeasure<T>(stage: PERFORMANCE_STAGE, fn: () => Promise<T>): Promise<T>;
13
+ load(serverTiming: string): void;
14
+ dumpStage(stage: PERFORMANCE_STAGE): {
15
+ during?: number;
16
+ startTime?: number;
17
+ };
18
+ /**
19
+ * 将性能数据写到 server-timing 响应头中
20
+ */
21
+ append2Response(response: Response): Response;
22
+ }
23
+ /**
24
+ * 将 Server-Timing: e1;dur=50, e2;dur=50 标准响应头解析为 Map<PERFORMANCE_STAGE, {during: number}>
25
+ */
26
+ export declare function parseServerTiming(timing: string): Map<PERFORMANCE_STAGE, {
27
+ during: number;
28
+ }>;
29
+ export {};
30
+ //# sourceMappingURL=ERPerformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERPerformance.d.ts","sourceRoot":"","sources":["../../../src/core/ERPerformance.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAE3B,YAAY,OAAO;IAEnB,yBAAyB,OAAO;IAEhC,2BAA2B,OAAO;CACnC;AAED,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD,KAAK,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0E;IAEjG,OAAO,CAAC,SAAS;IAMV,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAYjC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOhF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOhC,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAUnF;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;CAOrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ5F"}
@@ -0,0 +1,72 @@
1
+ export var PERFORMANCE_STAGE;
2
+ (function (PERFORMANCE_STAGE) {
3
+ // ER 执行耗时(约等于 TTFB)
4
+ PERFORMANCE_STAGE["ER_EXECUTION"] = "e1";
5
+ // SSR 静态部分(千人一面)连接耗时
6
+ PERFORMANCE_STAGE["ER_SSR_PRELUDE_CONNECTION"] = "e2";
7
+ // SSR 动态部分(千人千面)连接耗时
8
+ PERFORMANCE_STAGE["ER_SSR_POSTPONED_CONNECTION"] = "e3";
9
+ })(PERFORMANCE_STAGE || (PERFORMANCE_STAGE = {}));
10
+ export const serverTimingHeader = 'server-timing';
11
+ export class ERPerformance {
12
+ constructor() {
13
+ this.stages = new Map();
14
+ }
15
+ serialize() {
16
+ return Array.from(this.stages.entries()).map(([stage, { during }]) => {
17
+ return `${stage};dur=${during}`;
18
+ }).join(', ');
19
+ }
20
+ mark(stage) {
21
+ const startTime = Date.now();
22
+ this.stages.set(stage, { startTime });
23
+ return (during = Date.now() - startTime) => {
24
+ this.stages.set(stage, {
25
+ startTime,
26
+ during,
27
+ });
28
+ };
29
+ }
30
+ async autoMeasure(stage, fn) {
31
+ const measure = this.mark(stage);
32
+ const result = await fn();
33
+ measure();
34
+ return result;
35
+ }
36
+ load(serverTiming) {
37
+ const stages = parseServerTiming(serverTiming);
38
+ stages.forEach(({ during }, stage) => {
39
+ this.stages.set(stage, { during });
40
+ });
41
+ }
42
+ dumpStage(stage) {
43
+ return this.stages.get(stage) ?? {};
44
+ }
45
+ // public dump(): Array<{ stage: PERFORMANCE_STAGE, during?: number, startTime?: number }> {
46
+ // return Array.from(this.stages.entries()).map(([ stage, { during, startTime }]) => {
47
+ // return { stage, startTime, during };
48
+ // });
49
+ // }
50
+ /**
51
+ * 将性能数据写到 server-timing 响应头中
52
+ */
53
+ append2Response(response) {
54
+ const timing = this.serialize();
55
+ const newResponse = new Response(response.body, response);
56
+ newResponse.headers.set(serverTimingHeader, timing);
57
+ return newResponse;
58
+ }
59
+ }
60
+ /**
61
+ * 将 Server-Timing: e1;dur=50, e2;dur=50 标准响应头解析为 Map<PERFORMANCE_STAGE, {during: number}>
62
+ */
63
+ export function parseServerTiming(timing) {
64
+ return timing.split(',').reduce((result, item) => {
65
+ const [key, value] = item.split(';');
66
+ const stage = key.trim();
67
+ const during = parseInt(value.split('=')[1], 10);
68
+ result.set(stage, { during });
69
+ return result;
70
+ }, new Map());
71
+ }
72
+ //# sourceMappingURL=ERPerformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERPerformance.js","sourceRoot":"","sources":["../../../src/core/ERPerformance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ERRequestInit, HttpClient } from '../types';
2
+ export declare class ERHttpClient implements HttpClient {
3
+ /**
4
+ * 默认请求
5
+ * 显式透传参数,某些边缘计算环境存在 fetch / request 部分属性不支持,这里直接透传 method、headers、body、redirect
6
+ */
7
+ request(requestInstance: Request, options?: ERRequestInit, standard?: boolean): Promise<Response>;
8
+ }
9
+ //# sourceMappingURL=Fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fetch.d.ts","sourceRoot":"","sources":["../../../src/core/Fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAiB1D,qBAAa,YAAa,YAAW,UAAU;IAC7C;;;OAGG;IACG,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAyDxG"}
@@ -0,0 +1,72 @@
1
+ import { DecompressType, HttpMethod } from '../common/Enum';
2
+ import { ErrorCode, genError } from '../common/Error';
3
+ const DEFAULT_REQUEST_INIT = {
4
+ cdnProxy: true,
5
+ // 两个 case:
6
+ // 1. 请求头带了 if-none-match 的命中缓存会返回 304
7
+ // 2. HEAD 请求默认的 decompress 解压会导致 ER 直接出错,所以直接改成 manual 不解压
8
+ decompress: DecompressType.MANUAL,
9
+ };
10
+ // Clear cookie for specific hosts when needed
11
+ const CLEAR_COOKIE_HOST = [
12
+ 'example-render1.com',
13
+ 'example-render2.com',
14
+ 'example-render3.com',
15
+ ];
16
+ export class ERHttpClient {
17
+ /**
18
+ * 默认请求
19
+ * 显式透传参数,某些边缘计算环境存在 fetch / request 部分属性不支持,这里直接透传 method、headers、body、redirect
20
+ */
21
+ async request(requestInstance, options, standard) {
22
+ const { method, headers, body, redirect } = requestInstance;
23
+ const cdnProxy = options?.cdnProxy ?? DEFAULT_REQUEST_INIT.cdnProxy;
24
+ const decompress = options?.decompress ?? DEFAULT_REQUEST_INIT.decompress;
25
+ const unioFallback = options?.unioFallback ?? false;
26
+ const requestInit = {
27
+ cdnProxy,
28
+ decompress,
29
+ method,
30
+ headers,
31
+ redirect,
32
+ unioFallback,
33
+ };
34
+ const urlObj = new URL(requestInstance.url);
35
+ /* header 处理 */
36
+ const newHeaders = new Headers(headers);
37
+ if (CLEAR_COOKIE_HOST.includes(urlObj.host)) {
38
+ newHeaders.delete('cookie');
39
+ }
40
+ // 可以根据需要设置认证头
41
+ // newHeaders.set('x-custom-auth', 'your-auth-token');
42
+ requestInit.headers = newHeaders;
43
+ /* header 处理结束 */
44
+ if (![HttpMethod.CONNECT, HttpMethod.GET, HttpMethod.HEAD, HttpMethod.OPTIONS, HttpMethod.TRACE].includes(method)) {
45
+ requestInit.body = body;
46
+ }
47
+ if (!options?.timeout) {
48
+ return fetch(requestInstance, requestInit);
49
+ }
50
+ const timeout = options.timeout;
51
+ // Create a custom timeout promise.
52
+ const timeoutPromise = new Promise((_, reject) => {
53
+ setTimeout(() => {
54
+ reject(genError(ErrorCode.TimeoutError, {
55
+ message: `Request timeout after ${timeout}ms, url: ${requestInstance.url}`,
56
+ }));
57
+ }, timeout);
58
+ });
59
+ try {
60
+ return await Promise.race([fetch(requestInstance, requestInit), timeoutPromise]);
61
+ }
62
+ catch (error) {
63
+ // 超时直接抛出错误更符合 fetch 标准,为了兼容存量代码这里还是通过配置开启
64
+ if (standard) {
65
+ throw error;
66
+ }
67
+ const errorMessage = error instanceof Error ? error.message : String(error);
68
+ return new Response(`Error: ${errorMessage}`, { status: 408 });
69
+ }
70
+ }
71
+ }
72
+ //# sourceMappingURL=Fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../../../src/core/Fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGtD,MAAM,oBAAoB,GAAkB;IAC1C,QAAQ,EAAE,IAAI;IACd,WAAW;IACX,sCAAsC;IACtC,2DAA2D;IAC3D,UAAU,EAAE,cAAc,CAAC,MAAM;CAClC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AAEF,MAAM,OAAO,YAAY;IACvB;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,eAAwB,EAAE,OAAuB,EAAE,QAAkB;QACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC;QACpE,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAU,CAAC;QAC1E,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;QACpD,MAAM,WAAW,GAAkB;YACjC,QAAQ;YACR,UAAU;YACV,MAAM;YACN,OAAO;YACP,QAAQ;YACR,YAAY;SACb,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE5C,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,cAAc;QACd,sDAAsD;QACtD,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC;QACjC,kBAAkB;QAElB,IACE,CAAC,CAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAE,CAAC,QAAQ,CACrG,MAAoB,CACrB,EACD,CAAC;YACD,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CACJ,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE;oBAC/B,OAAO,EAAE,yBAAyB,OAAO,YAAY,eAAe,CAAC,GAAG,EAAE;iBAC3E,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAE,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,cAAmC,CAAE,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0CAA0C;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,IAAI,QAAQ,CAAC,UAAU,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import { MatchOperator, Operator } from '../common/Enum';
2
+ import { Value } from './Value';
3
+ import type { ILogger } from '../types';
4
+ import type { BaseProcessor } from './Processor';
5
+ import type { RouteContext } from './RouteContext';
6
+ import type { ValueRawData } from './Value';
7
+ export interface RawMatch {
8
+ list: (RawMatchItem | RawMatch)[];
9
+ operator?: MatchOperator;
10
+ }
11
+ export interface RawMatchItem {
12
+ origin: ValueRawData;
13
+ criteria?: ValueRawData;
14
+ operator: Operator;
15
+ }
16
+ export interface MatchItem {
17
+ origin: Value;
18
+ criteria?: Value;
19
+ operator: Operator;
20
+ }
21
+ export declare class Match {
22
+ list: (MatchItem | Match)[];
23
+ operator: MatchOperator;
24
+ processor: BaseProcessor;
25
+ constructor(raw: RawMatch, processor: BaseProcessor);
26
+ /**
27
+ * 将版本号长度对齐,每一个区间都是 10 位字符串,方便后续做字符串比较,如 10.5.8.001 会变成 0000000010.0000000005.0000000008.0000000001
28
+ * @param version 版本号
29
+ */
30
+ private getPaddedAppVersion;
31
+ match(ctx: RouteContext, logger: ILogger): Promise<boolean>;
32
+ matchItem(matchItem: MatchItem, ctx: RouteContext): Promise<boolean>;
33
+ isRawMatchItem(raw: RawMatchItem | RawMatch): raw is RawMatchItem;
34
+ }
35
+ //# sourceMappingURL=Match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Match.d.ts","sourceRoot":"","sources":["../../../src/core/Match.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAa,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,CAAC,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,YAAY,CAAC;IAErB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,KAAK,CAAC;IAEd,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,aAAa,CAAC;gBAEb,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa;IAenD;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAIrB,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B3D,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAiG1E,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,GAAG,GAAG,IAAI,YAAY;CAGlE"}