@unieojs/unieo 0.0.0-rc.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 (445) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +661 -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 +62 -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/CommonRouteExecutor.d.ts +17 -0
  24. package/dist/cjs/core/CommonRouteExecutor.d.ts.map +1 -0
  25. package/dist/cjs/core/CommonRouteExecutor.js +43 -0
  26. package/dist/cjs/core/CommonRouteExecutor.js.map +1 -0
  27. package/dist/cjs/core/ERPerformance.d.ts +30 -0
  28. package/dist/cjs/core/ERPerformance.d.ts.map +1 -0
  29. package/dist/cjs/core/ERPerformance.js +77 -0
  30. package/dist/cjs/core/ERPerformance.js.map +1 -0
  31. package/dist/cjs/core/Fetch.d.ts +9 -0
  32. package/dist/cjs/core/Fetch.d.ts.map +1 -0
  33. package/dist/cjs/core/Fetch.js +76 -0
  34. package/dist/cjs/core/Fetch.js.map +1 -0
  35. package/dist/cjs/core/Match.d.ts +35 -0
  36. package/dist/cjs/core/Match.d.ts.map +1 -0
  37. package/dist/cjs/core/Match.js +158 -0
  38. package/dist/cjs/core/Match.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 +200 -0
  58. package/dist/cjs/core/RouteContext.js.map +1 -0
  59. package/dist/cjs/core/executor/BaseExecutor.d.ts +32 -0
  60. package/dist/cjs/core/executor/BaseExecutor.d.ts.map +1 -0
  61. package/dist/cjs/core/executor/BaseExecutor.js +14 -0
  62. package/dist/cjs/core/executor/BaseExecutor.js.map +1 -0
  63. package/dist/cjs/core/executor/Factory.d.ts +18 -0
  64. package/dist/cjs/core/executor/Factory.d.ts.map +1 -0
  65. package/dist/cjs/core/executor/Factory.js +55 -0
  66. package/dist/cjs/core/executor/Factory.js.map +1 -0
  67. package/dist/cjs/core/executor/RouteExecutor.d.ts +12 -0
  68. package/dist/cjs/core/executor/RouteExecutor.d.ts.map +1 -0
  69. package/dist/cjs/core/executor/RouteExecutor.js +25 -0
  70. package/dist/cjs/core/executor/RouteExecutor.js.map +1 -0
  71. package/dist/cjs/core/executor/impl/RedirectExecutor.d.ts +14 -0
  72. package/dist/cjs/core/executor/impl/RedirectExecutor.d.ts.map +1 -0
  73. package/dist/cjs/core/executor/impl/RedirectExecutor.js +88 -0
  74. package/dist/cjs/core/executor/impl/RedirectExecutor.js.map +1 -0
  75. package/dist/cjs/core/executor/impl/RequestRewriteExecutor.d.ts +23 -0
  76. package/dist/cjs/core/executor/impl/RequestRewriteExecutor.d.ts.map +1 -0
  77. package/dist/cjs/core/executor/impl/RequestRewriteExecutor.js +104 -0
  78. package/dist/cjs/core/executor/impl/RequestRewriteExecutor.js.map +1 -0
  79. package/dist/cjs/core/executor/impl/ResponseRewriteExecutor.d.ts +14 -0
  80. package/dist/cjs/core/executor/impl/ResponseRewriteExecutor.d.ts.map +1 -0
  81. package/dist/cjs/core/executor/impl/ResponseRewriteExecutor.js +94 -0
  82. package/dist/cjs/core/executor/impl/ResponseRewriteExecutor.js.map +1 -0
  83. package/dist/cjs/core/executor/index.d.ts +8 -0
  84. package/dist/cjs/core/executor/index.d.ts.map +1 -0
  85. package/dist/cjs/core/executor/index.js +16 -0
  86. package/dist/cjs/core/executor/index.js.map +1 -0
  87. package/dist/cjs/core/index.d.ts +10 -0
  88. package/dist/cjs/core/index.d.ts.map +1 -0
  89. package/dist/cjs/core/index.js +26 -0
  90. package/dist/cjs/core/index.js.map +1 -0
  91. package/dist/cjs/core/meta/BaseMeta.d.ts +20 -0
  92. package/dist/cjs/core/meta/BaseMeta.d.ts.map +1 -0
  93. package/dist/cjs/core/meta/BaseMeta.js +14 -0
  94. package/dist/cjs/core/meta/BaseMeta.js.map +1 -0
  95. package/dist/cjs/core/meta/Factory.d.ts +28 -0
  96. package/dist/cjs/core/meta/Factory.d.ts.map +1 -0
  97. package/dist/cjs/core/meta/Factory.js +63 -0
  98. package/dist/cjs/core/meta/Factory.js.map +1 -0
  99. package/dist/cjs/core/meta/enum.d.ts +6 -0
  100. package/dist/cjs/core/meta/enum.d.ts.map +1 -0
  101. package/dist/cjs/core/meta/enum.js +10 -0
  102. package/dist/cjs/core/meta/enum.js.map +1 -0
  103. package/dist/cjs/core/meta/impl/RedirectMeta.d.ts +18 -0
  104. package/dist/cjs/core/meta/impl/RedirectMeta.d.ts.map +1 -0
  105. package/dist/cjs/core/meta/impl/RedirectMeta.js +25 -0
  106. package/dist/cjs/core/meta/impl/RedirectMeta.js.map +1 -0
  107. package/dist/cjs/core/meta/impl/RequestRewriteMeta.d.ts +18 -0
  108. package/dist/cjs/core/meta/impl/RequestRewriteMeta.d.ts.map +1 -0
  109. package/dist/cjs/core/meta/impl/RequestRewriteMeta.js +22 -0
  110. package/dist/cjs/core/meta/impl/RequestRewriteMeta.js.map +1 -0
  111. package/dist/cjs/core/meta/impl/ResponseRewriteMeta.d.ts +18 -0
  112. package/dist/cjs/core/meta/impl/ResponseRewriteMeta.d.ts.map +1 -0
  113. package/dist/cjs/core/meta/impl/ResponseRewriteMeta.js +22 -0
  114. package/dist/cjs/core/meta/impl/ResponseRewriteMeta.js.map +1 -0
  115. package/dist/cjs/core/meta/index.d.ts +8 -0
  116. package/dist/cjs/core/meta/index.d.ts.map +1 -0
  117. package/dist/cjs/core/meta/index.js +16 -0
  118. package/dist/cjs/core/meta/index.js.map +1 -0
  119. package/dist/cjs/core/processor/BaseProcessor.d.ts +37 -0
  120. package/dist/cjs/core/processor/BaseProcessor.d.ts.map +1 -0
  121. package/dist/cjs/core/processor/BaseProcessor.js +28 -0
  122. package/dist/cjs/core/processor/BaseProcessor.js.map +1 -0
  123. package/dist/cjs/core/processor/Factory.d.ts +26 -0
  124. package/dist/cjs/core/processor/Factory.d.ts.map +1 -0
  125. package/dist/cjs/core/processor/Factory.js +70 -0
  126. package/dist/cjs/core/processor/Factory.js.map +1 -0
  127. package/dist/cjs/core/processor/GroupProcessor.d.ts +21 -0
  128. package/dist/cjs/core/processor/GroupProcessor.d.ts.map +1 -0
  129. package/dist/cjs/core/processor/GroupProcessor.js +23 -0
  130. package/dist/cjs/core/processor/GroupProcessor.js.map +1 -0
  131. package/dist/cjs/core/processor/RouteProcessor.d.ts +9 -0
  132. package/dist/cjs/core/processor/RouteProcessor.d.ts.map +1 -0
  133. package/dist/cjs/core/processor/RouteProcessor.js +10 -0
  134. package/dist/cjs/core/processor/RouteProcessor.js.map +1 -0
  135. package/dist/cjs/core/processor/SubProcessor.d.ts +25 -0
  136. package/dist/cjs/core/processor/SubProcessor.d.ts.map +1 -0
  137. package/dist/cjs/core/processor/SubProcessor.js +56 -0
  138. package/dist/cjs/core/processor/SubProcessor.js.map +1 -0
  139. package/dist/cjs/core/processor/index.d.ts +6 -0
  140. package/dist/cjs/core/processor/index.d.ts.map +1 -0
  141. package/dist/cjs/core/processor/index.js +22 -0
  142. package/dist/cjs/core/processor/index.js.map +1 -0
  143. package/dist/cjs/core/value/SourceProcessor.d.ts +47 -0
  144. package/dist/cjs/core/value/SourceProcessor.d.ts.map +1 -0
  145. package/dist/cjs/core/value/SourceProcessor.js +121 -0
  146. package/dist/cjs/core/value/SourceProcessor.js.map +1 -0
  147. package/dist/cjs/core/value/SourceProcessorManager.d.ts +7 -0
  148. package/dist/cjs/core/value/SourceProcessorManager.d.ts.map +1 -0
  149. package/dist/cjs/core/value/SourceProcessorManager.js +33 -0
  150. package/dist/cjs/core/value/SourceProcessorManager.js.map +1 -0
  151. package/dist/cjs/core/value/ValueProcessor.d.ts +25 -0
  152. package/dist/cjs/core/value/ValueProcessor.d.ts.map +1 -0
  153. package/dist/cjs/core/value/ValueProcessor.js +57 -0
  154. package/dist/cjs/core/value/ValueProcessor.js.map +1 -0
  155. package/dist/cjs/core/value/ValueProcessorManager.d.ts +8 -0
  156. package/dist/cjs/core/value/ValueProcessorManager.d.ts.map +1 -0
  157. package/dist/cjs/core/value/ValueProcessorManager.js +28 -0
  158. package/dist/cjs/core/value/ValueProcessorManager.js.map +1 -0
  159. package/dist/cjs/core/value/index.d.ts +35 -0
  160. package/dist/cjs/core/value/index.d.ts.map +1 -0
  161. package/dist/cjs/core/value/index.js +57 -0
  162. package/dist/cjs/core/value/index.js.map +1 -0
  163. package/dist/cjs/index.d.ts +4 -0
  164. package/dist/cjs/index.d.ts.map +1 -0
  165. package/dist/cjs/index.js +20 -0
  166. package/dist/cjs/index.js.map +1 -0
  167. package/dist/cjs/middleware/DefaultFetch.d.ts +8 -0
  168. package/dist/cjs/middleware/DefaultFetch.d.ts.map +1 -0
  169. package/dist/cjs/middleware/DefaultFetch.js +36 -0
  170. package/dist/cjs/middleware/DefaultFetch.js.map +1 -0
  171. package/dist/cjs/middleware/ErrorFallback.d.ts +7 -0
  172. package/dist/cjs/middleware/ErrorFallback.d.ts.map +1 -0
  173. package/dist/cjs/middleware/ErrorFallback.js +30 -0
  174. package/dist/cjs/middleware/ErrorFallback.js.map +1 -0
  175. package/dist/cjs/middleware/index.d.ts +16 -0
  176. package/dist/cjs/middleware/index.d.ts.map +1 -0
  177. package/dist/cjs/middleware/index.js +119 -0
  178. package/dist/cjs/middleware/index.js.map +1 -0
  179. package/dist/cjs/middleware/types.d.ts +13 -0
  180. package/dist/cjs/middleware/types.d.ts.map +1 -0
  181. package/dist/cjs/middleware/types.js +3 -0
  182. package/dist/cjs/middleware/types.js.map +1 -0
  183. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  184. package/dist/cjs/util/Array.d.ts +3 -0
  185. package/dist/cjs/util/Array.d.ts.map +1 -0
  186. package/dist/cjs/util/Array.js +15 -0
  187. package/dist/cjs/util/Array.js.map +1 -0
  188. package/dist/cjs/util/Header.d.ts +5 -0
  189. package/dist/cjs/util/Header.d.ts.map +1 -0
  190. package/dist/cjs/util/Header.js +87 -0
  191. package/dist/cjs/util/Header.js.map +1 -0
  192. package/dist/cjs/util/LogUtil.d.ts +2 -0
  193. package/dist/cjs/util/LogUtil.d.ts.map +1 -0
  194. package/dist/cjs/util/LogUtil.js +10 -0
  195. package/dist/cjs/util/LogUtil.js.map +1 -0
  196. package/dist/cjs/util/PathRegexp.d.ts +12 -0
  197. package/dist/cjs/util/PathRegexp.d.ts.map +1 -0
  198. package/dist/cjs/util/PathRegexp.js +74 -0
  199. package/dist/cjs/util/PathRegexp.js.map +1 -0
  200. package/dist/cjs/util/PrefixLogger.d.ts +13 -0
  201. package/dist/cjs/util/PrefixLogger.d.ts.map +1 -0
  202. package/dist/cjs/util/PrefixLogger.js +38 -0
  203. package/dist/cjs/util/PrefixLogger.js.map +1 -0
  204. package/dist/cjs/util/RedirectHelper.d.ts +29 -0
  205. package/dist/cjs/util/RedirectHelper.d.ts.map +1 -0
  206. package/dist/cjs/util/RedirectHelper.js +140 -0
  207. package/dist/cjs/util/RedirectHelper.js.map +1 -0
  208. package/dist/cjs/util/Request.d.ts +11 -0
  209. package/dist/cjs/util/Request.d.ts.map +1 -0
  210. package/dist/cjs/util/Request.js +25 -0
  211. package/dist/cjs/util/Request.js.map +1 -0
  212. package/dist/cjs/util/Response.d.ts +12 -0
  213. package/dist/cjs/util/Response.d.ts.map +1 -0
  214. package/dist/cjs/util/Response.js +31 -0
  215. package/dist/cjs/util/Response.js.map +1 -0
  216. package/dist/cjs/util/Template.d.ts +2 -0
  217. package/dist/cjs/util/Template.d.ts.map +1 -0
  218. package/dist/cjs/util/Template.js +14 -0
  219. package/dist/cjs/util/Template.js.map +1 -0
  220. package/dist/cjs/util/Url.d.ts +19 -0
  221. package/dist/cjs/util/Url.d.ts.map +1 -0
  222. package/dist/cjs/util/Url.js +112 -0
  223. package/dist/cjs/util/Url.js.map +1 -0
  224. package/dist/esm/Route.d.ts +21 -0
  225. package/dist/esm/Route.d.ts.map +1 -0
  226. package/dist/esm/Route.js +58 -0
  227. package/dist/esm/Route.js.map +1 -0
  228. package/dist/esm/common/Enum.d.ts +158 -0
  229. package/dist/esm/common/Enum.d.ts.map +1 -0
  230. package/dist/esm/common/Enum.js +219 -0
  231. package/dist/esm/common/Enum.js.map +1 -0
  232. package/dist/esm/common/Error/Base.d.ts +18 -0
  233. package/dist/esm/common/Error/Base.d.ts.map +1 -0
  234. package/dist/esm/common/Error/Base.js +21 -0
  235. package/dist/esm/common/Error/Base.js.map +1 -0
  236. package/dist/esm/common/Error/index.d.ts +59 -0
  237. package/dist/esm/common/Error/index.d.ts.map +1 -0
  238. package/dist/esm/common/Error/index.js +294 -0
  239. package/dist/esm/common/Error/index.js.map +1 -0
  240. package/dist/esm/common/constants.d.ts +2 -0
  241. package/dist/esm/common/constants.d.ts.map +1 -0
  242. package/dist/esm/common/constants.js +2 -0
  243. package/dist/esm/common/constants.js.map +1 -0
  244. package/dist/esm/core/CommonRouteExecutor.d.ts +17 -0
  245. package/dist/esm/core/CommonRouteExecutor.d.ts.map +1 -0
  246. package/dist/esm/core/CommonRouteExecutor.js +39 -0
  247. package/dist/esm/core/CommonRouteExecutor.js.map +1 -0
  248. package/dist/esm/core/ERPerformance.d.ts +30 -0
  249. package/dist/esm/core/ERPerformance.d.ts.map +1 -0
  250. package/dist/esm/core/ERPerformance.js +72 -0
  251. package/dist/esm/core/ERPerformance.js.map +1 -0
  252. package/dist/esm/core/Fetch.d.ts +9 -0
  253. package/dist/esm/core/Fetch.d.ts.map +1 -0
  254. package/dist/esm/core/Fetch.js +72 -0
  255. package/dist/esm/core/Fetch.js.map +1 -0
  256. package/dist/esm/core/Match.d.ts +35 -0
  257. package/dist/esm/core/Match.d.ts.map +1 -0
  258. package/dist/esm/core/Match.js +154 -0
  259. package/dist/esm/core/Match.js.map +1 -0
  260. package/dist/esm/core/Redirect.d.ts +17 -0
  261. package/dist/esm/core/Redirect.d.ts.map +1 -0
  262. package/dist/esm/core/Redirect.js +26 -0
  263. package/dist/esm/core/Redirect.js.map +1 -0
  264. package/dist/esm/core/RequestRewrite.d.ts +31 -0
  265. package/dist/esm/core/RequestRewrite.d.ts.map +1 -0
  266. package/dist/esm/core/RequestRewrite.js +194 -0
  267. package/dist/esm/core/RequestRewrite.js.map +1 -0
  268. package/dist/esm/core/ResponseRewrite.d.ts +26 -0
  269. package/dist/esm/core/ResponseRewrite.d.ts.map +1 -0
  270. package/dist/esm/core/ResponseRewrite.js +51 -0
  271. package/dist/esm/core/ResponseRewrite.js.map +1 -0
  272. package/dist/esm/core/RouteConfig.d.ts +21 -0
  273. package/dist/esm/core/RouteConfig.d.ts.map +1 -0
  274. package/dist/esm/core/RouteConfig.js +2 -0
  275. package/dist/esm/core/RouteConfig.js.map +1 -0
  276. package/dist/esm/core/RouteContext.d.ts +55 -0
  277. package/dist/esm/core/RouteContext.d.ts.map +1 -0
  278. package/dist/esm/core/RouteContext.js +196 -0
  279. package/dist/esm/core/RouteContext.js.map +1 -0
  280. package/dist/esm/core/executor/BaseExecutor.d.ts +32 -0
  281. package/dist/esm/core/executor/BaseExecutor.d.ts.map +1 -0
  282. package/dist/esm/core/executor/BaseExecutor.js +10 -0
  283. package/dist/esm/core/executor/BaseExecutor.js.map +1 -0
  284. package/dist/esm/core/executor/Factory.d.ts +18 -0
  285. package/dist/esm/core/executor/Factory.d.ts.map +1 -0
  286. package/dist/esm/core/executor/Factory.js +51 -0
  287. package/dist/esm/core/executor/Factory.js.map +1 -0
  288. package/dist/esm/core/executor/RouteExecutor.d.ts +12 -0
  289. package/dist/esm/core/executor/RouteExecutor.d.ts.map +1 -0
  290. package/dist/esm/core/executor/RouteExecutor.js +21 -0
  291. package/dist/esm/core/executor/RouteExecutor.js.map +1 -0
  292. package/dist/esm/core/executor/impl/RedirectExecutor.d.ts +14 -0
  293. package/dist/esm/core/executor/impl/RedirectExecutor.d.ts.map +1 -0
  294. package/dist/esm/core/executor/impl/RedirectExecutor.js +84 -0
  295. package/dist/esm/core/executor/impl/RedirectExecutor.js.map +1 -0
  296. package/dist/esm/core/executor/impl/RequestRewriteExecutor.d.ts +23 -0
  297. package/dist/esm/core/executor/impl/RequestRewriteExecutor.d.ts.map +1 -0
  298. package/dist/esm/core/executor/impl/RequestRewriteExecutor.js +100 -0
  299. package/dist/esm/core/executor/impl/RequestRewriteExecutor.js.map +1 -0
  300. package/dist/esm/core/executor/impl/ResponseRewriteExecutor.d.ts +14 -0
  301. package/dist/esm/core/executor/impl/ResponseRewriteExecutor.d.ts.map +1 -0
  302. package/dist/esm/core/executor/impl/ResponseRewriteExecutor.js +90 -0
  303. package/dist/esm/core/executor/impl/ResponseRewriteExecutor.js.map +1 -0
  304. package/dist/esm/core/executor/index.d.ts +8 -0
  305. package/dist/esm/core/executor/index.d.ts.map +1 -0
  306. package/dist/esm/core/executor/index.js +7 -0
  307. package/dist/esm/core/executor/index.js.map +1 -0
  308. package/dist/esm/core/index.d.ts +10 -0
  309. package/dist/esm/core/index.d.ts.map +1 -0
  310. package/dist/esm/core/index.js +10 -0
  311. package/dist/esm/core/index.js.map +1 -0
  312. package/dist/esm/core/meta/BaseMeta.d.ts +20 -0
  313. package/dist/esm/core/meta/BaseMeta.d.ts.map +1 -0
  314. package/dist/esm/core/meta/BaseMeta.js +10 -0
  315. package/dist/esm/core/meta/BaseMeta.js.map +1 -0
  316. package/dist/esm/core/meta/Factory.d.ts +28 -0
  317. package/dist/esm/core/meta/Factory.d.ts.map +1 -0
  318. package/dist/esm/core/meta/Factory.js +59 -0
  319. package/dist/esm/core/meta/Factory.js.map +1 -0
  320. package/dist/esm/core/meta/enum.d.ts +6 -0
  321. package/dist/esm/core/meta/enum.d.ts.map +1 -0
  322. package/dist/esm/core/meta/enum.js +7 -0
  323. package/dist/esm/core/meta/enum.js.map +1 -0
  324. package/dist/esm/core/meta/impl/RedirectMeta.d.ts +18 -0
  325. package/dist/esm/core/meta/impl/RedirectMeta.d.ts.map +1 -0
  326. package/dist/esm/core/meta/impl/RedirectMeta.js +21 -0
  327. package/dist/esm/core/meta/impl/RedirectMeta.js.map +1 -0
  328. package/dist/esm/core/meta/impl/RequestRewriteMeta.d.ts +18 -0
  329. package/dist/esm/core/meta/impl/RequestRewriteMeta.d.ts.map +1 -0
  330. package/dist/esm/core/meta/impl/RequestRewriteMeta.js +18 -0
  331. package/dist/esm/core/meta/impl/RequestRewriteMeta.js.map +1 -0
  332. package/dist/esm/core/meta/impl/ResponseRewriteMeta.d.ts +18 -0
  333. package/dist/esm/core/meta/impl/ResponseRewriteMeta.d.ts.map +1 -0
  334. package/dist/esm/core/meta/impl/ResponseRewriteMeta.js +18 -0
  335. package/dist/esm/core/meta/impl/ResponseRewriteMeta.js.map +1 -0
  336. package/dist/esm/core/meta/index.d.ts +8 -0
  337. package/dist/esm/core/meta/index.d.ts.map +1 -0
  338. package/dist/esm/core/meta/index.js +7 -0
  339. package/dist/esm/core/meta/index.js.map +1 -0
  340. package/dist/esm/core/processor/BaseProcessor.d.ts +37 -0
  341. package/dist/esm/core/processor/BaseProcessor.d.ts.map +1 -0
  342. package/dist/esm/core/processor/BaseProcessor.js +24 -0
  343. package/dist/esm/core/processor/BaseProcessor.js.map +1 -0
  344. package/dist/esm/core/processor/Factory.d.ts +26 -0
  345. package/dist/esm/core/processor/Factory.d.ts.map +1 -0
  346. package/dist/esm/core/processor/Factory.js +66 -0
  347. package/dist/esm/core/processor/Factory.js.map +1 -0
  348. package/dist/esm/core/processor/GroupProcessor.d.ts +21 -0
  349. package/dist/esm/core/processor/GroupProcessor.d.ts.map +1 -0
  350. package/dist/esm/core/processor/GroupProcessor.js +19 -0
  351. package/dist/esm/core/processor/GroupProcessor.js.map +1 -0
  352. package/dist/esm/core/processor/RouteProcessor.d.ts +9 -0
  353. package/dist/esm/core/processor/RouteProcessor.d.ts.map +1 -0
  354. package/dist/esm/core/processor/RouteProcessor.js +6 -0
  355. package/dist/esm/core/processor/RouteProcessor.js.map +1 -0
  356. package/dist/esm/core/processor/SubProcessor.d.ts +25 -0
  357. package/dist/esm/core/processor/SubProcessor.d.ts.map +1 -0
  358. package/dist/esm/core/processor/SubProcessor.js +52 -0
  359. package/dist/esm/core/processor/SubProcessor.js.map +1 -0
  360. package/dist/esm/core/processor/index.d.ts +6 -0
  361. package/dist/esm/core/processor/index.d.ts.map +1 -0
  362. package/dist/esm/core/processor/index.js +6 -0
  363. package/dist/esm/core/processor/index.js.map +1 -0
  364. package/dist/esm/core/value/SourceProcessor.d.ts +47 -0
  365. package/dist/esm/core/value/SourceProcessor.d.ts.map +1 -0
  366. package/dist/esm/core/value/SourceProcessor.js +105 -0
  367. package/dist/esm/core/value/SourceProcessor.js.map +1 -0
  368. package/dist/esm/core/value/SourceProcessorManager.d.ts +7 -0
  369. package/dist/esm/core/value/SourceProcessorManager.d.ts.map +1 -0
  370. package/dist/esm/core/value/SourceProcessorManager.js +29 -0
  371. package/dist/esm/core/value/SourceProcessorManager.js.map +1 -0
  372. package/dist/esm/core/value/ValueProcessor.d.ts +25 -0
  373. package/dist/esm/core/value/ValueProcessor.d.ts.map +1 -0
  374. package/dist/esm/core/value/ValueProcessor.js +48 -0
  375. package/dist/esm/core/value/ValueProcessor.js.map +1 -0
  376. package/dist/esm/core/value/ValueProcessorManager.d.ts +8 -0
  377. package/dist/esm/core/value/ValueProcessorManager.d.ts.map +1 -0
  378. package/dist/esm/core/value/ValueProcessorManager.js +24 -0
  379. package/dist/esm/core/value/ValueProcessorManager.js.map +1 -0
  380. package/dist/esm/core/value/index.d.ts +35 -0
  381. package/dist/esm/core/value/index.d.ts.map +1 -0
  382. package/dist/esm/core/value/index.js +53 -0
  383. package/dist/esm/core/value/index.js.map +1 -0
  384. package/dist/esm/index.d.ts +4 -0
  385. package/dist/esm/index.d.ts.map +1 -0
  386. package/dist/esm/index.js +4 -0
  387. package/dist/esm/index.js.map +1 -0
  388. package/dist/esm/middleware/DefaultFetch.d.ts +8 -0
  389. package/dist/esm/middleware/DefaultFetch.d.ts.map +1 -0
  390. package/dist/esm/middleware/DefaultFetch.js +34 -0
  391. package/dist/esm/middleware/DefaultFetch.js.map +1 -0
  392. package/dist/esm/middleware/ErrorFallback.d.ts +7 -0
  393. package/dist/esm/middleware/ErrorFallback.d.ts.map +1 -0
  394. package/dist/esm/middleware/ErrorFallback.js +28 -0
  395. package/dist/esm/middleware/ErrorFallback.js.map +1 -0
  396. package/dist/esm/middleware/index.d.ts +16 -0
  397. package/dist/esm/middleware/index.d.ts.map +1 -0
  398. package/dist/esm/middleware/index.js +112 -0
  399. package/dist/esm/middleware/index.js.map +1 -0
  400. package/dist/esm/middleware/types.d.ts +13 -0
  401. package/dist/esm/middleware/types.d.ts.map +1 -0
  402. package/dist/esm/middleware/types.js +2 -0
  403. package/dist/esm/middleware/types.js.map +1 -0
  404. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  405. package/dist/esm/util/Array.d.ts +3 -0
  406. package/dist/esm/util/Array.d.ts.map +1 -0
  407. package/dist/esm/util/Array.js +11 -0
  408. package/dist/esm/util/Array.js.map +1 -0
  409. package/dist/esm/util/Header.d.ts +5 -0
  410. package/dist/esm/util/Header.d.ts.map +1 -0
  411. package/dist/esm/util/Header.js +81 -0
  412. package/dist/esm/util/Header.js.map +1 -0
  413. package/dist/esm/util/LogUtil.d.ts +2 -0
  414. package/dist/esm/util/LogUtil.d.ts.map +1 -0
  415. package/dist/esm/util/LogUtil.js +7 -0
  416. package/dist/esm/util/LogUtil.js.map +1 -0
  417. package/dist/esm/util/PathRegexp.d.ts +12 -0
  418. package/dist/esm/util/PathRegexp.d.ts.map +1 -0
  419. package/dist/esm/util/PathRegexp.js +69 -0
  420. package/dist/esm/util/PathRegexp.js.map +1 -0
  421. package/dist/esm/util/PrefixLogger.d.ts +13 -0
  422. package/dist/esm/util/PrefixLogger.d.ts.map +1 -0
  423. package/dist/esm/util/PrefixLogger.js +34 -0
  424. package/dist/esm/util/PrefixLogger.js.map +1 -0
  425. package/dist/esm/util/RedirectHelper.d.ts +29 -0
  426. package/dist/esm/util/RedirectHelper.d.ts.map +1 -0
  427. package/dist/esm/util/RedirectHelper.js +136 -0
  428. package/dist/esm/util/RedirectHelper.js.map +1 -0
  429. package/dist/esm/util/Request.d.ts +11 -0
  430. package/dist/esm/util/Request.d.ts.map +1 -0
  431. package/dist/esm/util/Request.js +20 -0
  432. package/dist/esm/util/Request.js.map +1 -0
  433. package/dist/esm/util/Response.d.ts +12 -0
  434. package/dist/esm/util/Response.d.ts.map +1 -0
  435. package/dist/esm/util/Response.js +25 -0
  436. package/dist/esm/util/Response.js.map +1 -0
  437. package/dist/esm/util/Template.d.ts +2 -0
  438. package/dist/esm/util/Template.d.ts.map +1 -0
  439. package/dist/esm/util/Template.js +11 -0
  440. package/dist/esm/util/Template.js.map +1 -0
  441. package/dist/esm/util/Url.d.ts +19 -0
  442. package/dist/esm/util/Url.d.ts.map +1 -0
  443. package/dist/esm/util/Url.js +99 -0
  444. package/dist/esm/util/Url.js.map +1 -0
  445. package/package.json +76 -0
@@ -0,0 +1,312 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ErrorCode = void 0;
18
+ exports.genError = genError;
19
+ const Base_1 = require("./Base");
20
+ __exportStar(require("./Base"), exports);
21
+ var ErrorCode;
22
+ (function (ErrorCode) {
23
+ /* ER 执行链路错误 - 1xxx */
24
+ ErrorCode[ErrorCode["HostNotAccessError"] = 1001] = "HostNotAccessError";
25
+ ErrorCode[ErrorCode["GroupProcessorNotFoundError"] = 1002] = "GroupProcessorNotFoundError";
26
+ ErrorCode[ErrorCode["SubProcessorNotFoundError"] = 1003] = "SubProcessorNotFoundError";
27
+ ErrorCode[ErrorCode["SubRouteCheckHostAccessError"] = 1004] = "SubRouteCheckHostAccessError";
28
+ ErrorCode[ErrorCode["SubRouteInitHostInfoError"] = 1005] = "SubRouteInitHostInfoError";
29
+ ErrorCode[ErrorCode["SubRouteBeforeRequestError"] = 1006] = "SubRouteBeforeRequestError";
30
+ ErrorCode[ErrorCode["SubRouteBeforeResponseError"] = 1007] = "SubRouteBeforeResponseError";
31
+ ErrorCode[ErrorCode["RequestMiddlewareNotFoundError"] = 1008] = "RequestMiddlewareNotFoundError";
32
+ ErrorCode[ErrorCode["RequestMiddlewareResponseInvalidError"] = 1009] = "RequestMiddlewareResponseInvalidError";
33
+ ErrorCode[ErrorCode["HostResourceConfigInvalidError"] = 1010] = "HostResourceConfigInvalidError";
34
+ ErrorCode[ErrorCode["PackRouteConfigInvalidError"] = 1011] = "PackRouteConfigInvalidError";
35
+ ErrorCode[ErrorCode["HostResourceRequestError"] = 1012] = "HostResourceRequestError";
36
+ ErrorCode[ErrorCode["RevisionNotFoundError"] = 1013] = "RevisionNotFoundError";
37
+ ErrorCode[ErrorCode["SubRouteRedirectError"] = 1014] = "SubRouteRedirectError";
38
+ ErrorCode[ErrorCode["RequestMiddlewareRedefined"] = 1015] = "RequestMiddlewareRedefined";
39
+ ErrorCode[ErrorCode["SubRouteCheckHostForbidError"] = 1016] = "SubRouteCheckHostForbidError";
40
+ ErrorCode[ErrorCode["HostInfoNotInitError"] = 1017] = "HostInfoNotInitError";
41
+ ErrorCode[ErrorCode["CreateSubRouteContextError"] = 1018] = "CreateSubRouteContextError";
42
+ ErrorCode[ErrorCode["AliyunHttpClientForbidRouteExecuteError"] = 1019] = "AliyunHttpClientForbidRouteExecuteError";
43
+ ErrorCode[ErrorCode["MethodNotAllowed"] = 1020] = "MethodNotAllowed";
44
+ ErrorCode[ErrorCode["PathmapError"] = 1021] = "PathmapError";
45
+ ErrorCode[ErrorCode["AMDCConfigError"] = 1022] = "AMDCConfigError";
46
+ ErrorCode[ErrorCode["AMDCRequestError"] = 1023] = "AMDCRequestError";
47
+ ErrorCode[ErrorCode["CORSHeaderAppendError"] = 1024] = "CORSHeaderAppendError";
48
+ ErrorCode[ErrorCode["PathForbidden"] = 1025] = "PathForbidden";
49
+ ErrorCode[ErrorCode["SubRouteCheckHostInterceptError"] = 1026] = "SubRouteCheckHostInterceptError";
50
+ ErrorCode[ErrorCode["RequestNotAllowed"] = 1027] = "RequestNotAllowed";
51
+ /* KV 调用错误 - 2xxx */
52
+ ErrorCode[ErrorCode["EdgeKVNotFoundError"] = 2001] = "EdgeKVNotFoundError";
53
+ ErrorCode[ErrorCode["EdgeKVRequestError"] = 2002] = "EdgeKVRequestError";
54
+ ErrorCode[ErrorCode["EdgeKVTimeoutError"] = 2003] = "EdgeKVTimeoutError";
55
+ /* SYSTEM ERROR - 3xxx */
56
+ ErrorCode[ErrorCode["SystemError"] = 3001] = "SystemError";
57
+ ErrorCode[ErrorCode["NotFoundRenderOriginHostError"] = 3002] = "NotFoundRenderOriginHostError";
58
+ ErrorCode[ErrorCode["NotFoundTernError"] = 3003] = "NotFoundTernError";
59
+ ErrorCode[ErrorCode["NotFoundWebGWHostError"] = 3004] = "NotFoundWebGWHostError";
60
+ ErrorCode[ErrorCode["TimeoutError"] = 3005] = "TimeoutError";
61
+ /* RENDER 调用 - 4xxx */
62
+ ErrorCode[ErrorCode["RenderConfigRequestError"] = 4001] = "RenderConfigRequestError";
63
+ ErrorCode[ErrorCode["RenderConfigTimeoutError"] = 4002] = "RenderConfigTimeoutError";
64
+ ErrorCode[ErrorCode["RenderAssetsRequestError"] = 4003] = "RenderAssetsRequestError";
65
+ ErrorCode[ErrorCode["UnioVersionNotFoundError"] = 4004] = "UnioVersionNotFoundError";
66
+ /* FC 调用 - 5xxx */
67
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidError"] = 5001] = "SSRPreludeResponseInvalidError";
68
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidErrorAsEmptyVersion"] = 5002] = "SSRPreludeResponseInvalidErrorAsEmptyVersion";
69
+ ErrorCode[ErrorCode["SSRPreludeResponseInvalidErrorAsEmptyBody"] = 5003] = "SSRPreludeResponseInvalidErrorAsEmptyBody";
70
+ ErrorCode[ErrorCode["SSRPostponedResponseInvalidError"] = 5010] = "SSRPostponedResponseInvalidError";
71
+ ErrorCode[ErrorCode["SSRPostponedUncheckedError"] = 5100] = "SSRPostponedUncheckedError";
72
+ ErrorCode[ErrorCode["SSRResponseStreamTimeout"] = 5200] = "SSRResponseStreamTimeout";
73
+ /* 登录鉴权 - 6xxx */
74
+ ErrorCode[ErrorCode["UserRouteConfigInvalidError"] = 6001] = "UserRouteConfigInvalidError";
75
+ ErrorCode[ErrorCode["UnauthenticatedError"] = 6002] = "UnauthenticatedError";
76
+ /* 中间件 - 7xxx */
77
+ ErrorCode[ErrorCode["TernMiddlewareError"] = 7001] = "TernMiddlewareError";
78
+ ErrorCode[ErrorCode["TernSiteExecutorStageError"] = 7002] = "TernSiteExecutorStageError";
79
+ ErrorCode[ErrorCode["TernResourceStatusError"] = 7003] = "TernResourceStatusError";
80
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
81
+ const ERROR_DEFINITION = {
82
+ [ErrorCode.RequestNotAllowed]: {
83
+ name: 'RequestNotAllowed',
84
+ message: 'request not allowed',
85
+ },
86
+ [ErrorCode.HostNotAccessError]: {
87
+ name: 'HostNotAccessError',
88
+ message: 'host not permit to execute route',
89
+ },
90
+ [ErrorCode.GroupProcessorNotFoundError]: {
91
+ name: 'GroupProcessorNotFoundError',
92
+ message: 'create group processor with type not found',
93
+ },
94
+ [ErrorCode.SubProcessorNotFoundError]: {
95
+ name: 'SubProcessorNotFoundError',
96
+ message: 'create sub processor with type not found',
97
+ },
98
+ [ErrorCode.SubRouteCheckHostInterceptError]: {
99
+ name: 'SubRouteCheckHostInterceptError',
100
+ message: 'sub route check host intercept execute error',
101
+ },
102
+ [ErrorCode.SubRouteCheckHostAccessError]: {
103
+ name: 'SubRouteCheckHostAccessError',
104
+ message: 'sub route check host access execute error',
105
+ },
106
+ [ErrorCode.SubRouteCheckHostForbidError]: {
107
+ name: 'SubRouteCheckHostForbidError',
108
+ message: 'sub route check host forbidden execute error',
109
+ },
110
+ [ErrorCode.HostInfoNotInitError]: {
111
+ name: 'HostInfoNotInitError',
112
+ message: 'hostInfo not init',
113
+ },
114
+ [ErrorCode.CreateSubRouteContextError]: {
115
+ name: 'CreateSubRouteContextError',
116
+ message: 'subRouteContext create error',
117
+ },
118
+ [ErrorCode.AliyunHttpClientForbidRouteExecuteError]: {
119
+ name: 'AliyunHttpClientForbidRouteExecuteError',
120
+ message: 'aliyunHttpClient forbid routeExecute',
121
+ },
122
+ [ErrorCode.MethodNotAllowed]: {
123
+ name: 'MethodNotAllowed',
124
+ message: 'method not allowed',
125
+ },
126
+ [ErrorCode.PathForbidden]: {
127
+ name: 'PathForbidden',
128
+ message: 'path is forbidden',
129
+ },
130
+ [ErrorCode.PathmapError]: {
131
+ name: 'PathmapError',
132
+ message: 'pathmap error',
133
+ },
134
+ [ErrorCode.AMDCConfigError]: {
135
+ name: 'AMDCConfigError',
136
+ message: 'AMDC config error',
137
+ },
138
+ [ErrorCode.AMDCRequestError]: {
139
+ name: 'AMDCRequestError',
140
+ message: 'AMDC request error',
141
+ },
142
+ [ErrorCode.CORSHeaderAppendError]: {
143
+ name: 'CORSHeaderAppendError',
144
+ message: 'append CORS header error',
145
+ },
146
+ [ErrorCode.SubRouteInitHostInfoError]: {
147
+ name: 'SubRouteInitHostInfoError',
148
+ message: 'sub route init host info execute error',
149
+ },
150
+ [ErrorCode.SubRouteBeforeRequestError]: {
151
+ name: 'SubRouteBeforeRequestError',
152
+ message: 'sub route before request execute error',
153
+ },
154
+ [ErrorCode.SubRouteBeforeResponseError]: {
155
+ name: 'SubRouteBeforeResponseError',
156
+ message: 'sub route before response execute error',
157
+ },
158
+ [ErrorCode.RequestMiddlewareNotFoundError]: {
159
+ name: 'RequestMiddlewareNotFoundError',
160
+ message: 'request middleware not found',
161
+ },
162
+ [ErrorCode.RequestMiddlewareResponseInvalidError]: {
163
+ name: 'RequestMiddlewareResponseInvalidError',
164
+ message: 'request middleware response invalid',
165
+ },
166
+ [ErrorCode.HostResourceConfigInvalidError]: {
167
+ name: 'HostResourceConfigInvalidError',
168
+ message: 'host resource config invalid',
169
+ },
170
+ [ErrorCode.PackRouteConfigInvalidError]: {
171
+ name: 'PackRouteConfigInvalidError',
172
+ message: 'pack route config request from render with invalid code',
173
+ },
174
+ [ErrorCode.HostResourceRequestError]: {
175
+ name: 'HostResourceRequestError',
176
+ message: 'host resource request error',
177
+ },
178
+ [ErrorCode.RevisionNotFoundError]: {
179
+ name: 'RevisionNotFoundError',
180
+ message: 'revision not found',
181
+ },
182
+ [ErrorCode.SubRouteRedirectError]: {
183
+ name: 'SubRouteRedirectError',
184
+ message: 'sub route redirect execute error',
185
+ },
186
+ [ErrorCode.RequestMiddlewareRedefined]: {
187
+ name: 'RequestMiddlewareRedefined',
188
+ message: 'request middleware redefined error',
189
+ },
190
+ [ErrorCode.EdgeKVNotFoundError]: {
191
+ name: 'EdgeKVNotFoundError',
192
+ message: 'EdgeKV not found',
193
+ },
194
+ [ErrorCode.EdgeKVRequestError]: {
195
+ name: 'EdgeKVRequestError',
196
+ message: 'EdgeKV request error',
197
+ },
198
+ [ErrorCode.EdgeKVTimeoutError]: {
199
+ name: 'EdgeKVTimeoutError',
200
+ message: 'EdgeKV request timeout',
201
+ },
202
+ [ErrorCode.SystemError]: {
203
+ name: 'SystemError',
204
+ message: 'system error',
205
+ },
206
+ [ErrorCode.NotFoundTernError]: {
207
+ name: 'NotFoundTernError',
208
+ message: 'tern not found',
209
+ },
210
+ [ErrorCode.NotFoundWebGWHostError]: {
211
+ name: 'NotFoundWebGWHostError',
212
+ message: 'not found webGWHost',
213
+ },
214
+ [ErrorCode.TimeoutError]: {
215
+ name: 'TimeoutError',
216
+ message: 'timeout',
217
+ },
218
+ [ErrorCode.NotFoundRenderOriginHostError]: {
219
+ name: 'NotFoundRenderOriginHostError',
220
+ message: 'not found renderOriginHost',
221
+ },
222
+ [ErrorCode.RenderConfigRequestError]: {
223
+ name: 'RenderConfigRequestError',
224
+ message: 'render config request error',
225
+ },
226
+ [ErrorCode.RenderConfigTimeoutError]: {
227
+ name: 'RenderConfigTimeoutError',
228
+ message: 'render config request timeout',
229
+ },
230
+ [ErrorCode.RenderAssetsRequestError]: {
231
+ name: 'RenderAssetsRequestError',
232
+ message: 'render assets request error',
233
+ },
234
+ [ErrorCode.UnioVersionNotFoundError]: {
235
+ name: 'UnioVersionNotFoundError',
236
+ message: 'html has no unio version on response header',
237
+ },
238
+ [ErrorCode.SSRPreludeResponseInvalidError]: {
239
+ name: 'SSRPreludeResponseInvalidError',
240
+ message: 'ssr prelude response invalid',
241
+ },
242
+ [ErrorCode.SSRPreludeResponseInvalidErrorAsEmptyVersion]: {
243
+ name: 'SSRPreludeResponseInvalidErrorAsEmptyVersion',
244
+ message: 'ssr prelude response invalid as empty version',
245
+ },
246
+ [ErrorCode.SSRPreludeResponseInvalidErrorAsEmptyBody]: {
247
+ name: 'SSRPreludeResponseInvalidErrorAsEmptyBody',
248
+ message: 'ssr prelude response invalid as empty body',
249
+ },
250
+ [ErrorCode.SSRPostponedResponseInvalidError]: {
251
+ name: 'SSRPostponedResponseInvalidError',
252
+ message: 'ssr postponed response invalid error',
253
+ },
254
+ [ErrorCode.SSRPostponedUncheckedError]: {
255
+ name: 'SSRPostponedUncheckedError',
256
+ message: 'ssr postponed unchecked error',
257
+ },
258
+ [ErrorCode.SSRResponseStreamTimeout]: {
259
+ name: 'SSRResponseStreamTimeout',
260
+ message: 'ssr response stream timeout',
261
+ },
262
+ [ErrorCode.UserRouteConfigInvalidError]: {
263
+ name: 'UserRouteConfigInvalidError',
264
+ message: 'user route config invalid error',
265
+ },
266
+ [ErrorCode.UnauthenticatedError]: {
267
+ name: 'UnauthenticatedError',
268
+ message: 'unauthenticated',
269
+ },
270
+ [ErrorCode.TernMiddlewareError]: {
271
+ name: 'TernMiddlewareError',
272
+ message: 'tern middleware executing error',
273
+ },
274
+ [ErrorCode.TernSiteExecutorStageError]: {
275
+ name: 'TernSiteExecutorStageError',
276
+ message: 'tern siteExecutor stage error',
277
+ },
278
+ [ErrorCode.TernResourceStatusError]: {
279
+ name: 'TernResourceStatusError',
280
+ message: 'tern resource status error',
281
+ },
282
+ };
283
+ function genError(code, errorOption) {
284
+ let errorConfig = ERROR_DEFINITION[code];
285
+ let errorMessage = errorConfig.message;
286
+ if (typeof errorOption === 'string') {
287
+ errorMessage += `: ${errorOption}`;
288
+ }
289
+ else if (errorOption instanceof Error) {
290
+ errorMessage += `: ${errorOption.message}`;
291
+ errorConfig = {
292
+ ...errorConfig,
293
+ // 原生异常的 name 跟 stack 都不可枚举,不能用析构
294
+ name: errorOption.name,
295
+ stack: errorOption.stack,
296
+ };
297
+ }
298
+ else if (errorOption?.message) {
299
+ errorMessage += `: ${errorOption.message}`;
300
+ errorConfig = {
301
+ ...errorConfig,
302
+ ...errorOption,
303
+ };
304
+ }
305
+ // 将 error 转换为标准的 error 模型
306
+ return new Base_1.BaseError({
307
+ ...errorConfig,
308
+ code,
309
+ message: errorMessage,
310
+ });
311
+ }
312
+ //# 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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RENDER_ROUTE_ERROR_HEADER = void 0;
4
+ exports.RENDER_ROUTE_ERROR_HEADER = 'x-unio-error';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RouteExecutor } from './executor';
2
+ import type { RouteContext } from './RouteContext';
3
+ import type { RouteProcessor } from './processor';
4
+ export declare class CommonRouteExecutor {
5
+ protected routeExecutor: RouteExecutor;
6
+ protected readonly ctx: RouteContext;
7
+ constructor(options: {
8
+ processor: RouteProcessor;
9
+ ctx: RouteContext;
10
+ });
11
+ redirect(): Promise<void>;
12
+ requestRewrite(): Promise<void>;
13
+ responseRewrite(): Promise<void>;
14
+ request(): Promise<void>;
15
+ execute(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=CommonRouteExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonRouteExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/CommonRouteExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;gBAEzB,OAAO,EAAE;QACnB,SAAS,EAAE,cAAc,CAAC;QAC1B,GAAG,EAAE,YAAY,CAAC;KACnB;IAQY,QAAQ;IAIR,cAAc;IAId,eAAe;IAIf,OAAO;IAIP,OAAO;CAerB"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonRouteExecutor = void 0;
4
+ const executor_1 = require("./executor");
5
+ const enum_1 = require("./meta/enum");
6
+ class CommonRouteExecutor {
7
+ constructor(options) {
8
+ this.routeExecutor = new executor_1.RouteExecutor({
9
+ routeProcessor: options.processor,
10
+ ctx: options.ctx,
11
+ });
12
+ this.ctx = options.ctx;
13
+ }
14
+ async redirect() {
15
+ await this.routeExecutor.execute(enum_1.MetaType.REDIRECT);
16
+ }
17
+ async requestRewrite() {
18
+ await this.routeExecutor.execute(enum_1.MetaType.REQUEST_REWRITE);
19
+ }
20
+ async responseRewrite() {
21
+ await this.routeExecutor.execute(enum_1.MetaType.RESPONSE_REWRITE);
22
+ }
23
+ async request() {
24
+ return this.ctx.runMiddleware();
25
+ }
26
+ async execute() {
27
+ // redirect
28
+ await this.redirect();
29
+ // redirect success, skip next
30
+ if (this.ctx.response) {
31
+ return;
32
+ }
33
+ // before request
34
+ await this.requestRewrite();
35
+ if (!this.ctx.response) {
36
+ await this.request();
37
+ }
38
+ // before response
39
+ await this.responseRewrite();
40
+ }
41
+ }
42
+ exports.CommonRouteExecutor = CommonRouteExecutor;
43
+ //# sourceMappingURL=CommonRouteExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonRouteExecutor.js","sourceRoot":"","sources":["../../../src/core/CommonRouteExecutor.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAE3C,sCAAuC;AAGvC,MAAa,mBAAmB;IAI9B,YAAY,OAGX;QACC,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAa,CAAC;YACrC,cAAc,EAAE,OAAO,CAAC,SAAS;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,WAAW;QACX,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,iBAAiB;QACjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,kBAAkB;QAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;CACF;AA9CD,kDA8CC"}
@@ -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,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERPerformance = exports.serverTimingHeader = exports.PERFORMANCE_STAGE = void 0;
4
+ exports.parseServerTiming = parseServerTiming;
5
+ var PERFORMANCE_STAGE;
6
+ (function (PERFORMANCE_STAGE) {
7
+ // ER 执行耗时(约等于 TTFB)
8
+ PERFORMANCE_STAGE["ER_EXECUTION"] = "e1";
9
+ // SSR 静态部分(千人一面)连接耗时
10
+ PERFORMANCE_STAGE["ER_SSR_PRELUDE_CONNECTION"] = "e2";
11
+ // SSR 动态部分(千人千面)连接耗时
12
+ PERFORMANCE_STAGE["ER_SSR_POSTPONED_CONNECTION"] = "e3";
13
+ })(PERFORMANCE_STAGE || (exports.PERFORMANCE_STAGE = PERFORMANCE_STAGE = {}));
14
+ exports.serverTimingHeader = 'server-timing';
15
+ class ERPerformance {
16
+ constructor() {
17
+ this.stages = new Map();
18
+ }
19
+ serialize() {
20
+ return Array.from(this.stages.entries()).map(([stage, { during }]) => {
21
+ return `${stage};dur=${during}`;
22
+ }).join(', ');
23
+ }
24
+ mark(stage) {
25
+ const startTime = Date.now();
26
+ this.stages.set(stage, { startTime });
27
+ return (during = Date.now() - startTime) => {
28
+ this.stages.set(stage, {
29
+ startTime,
30
+ during,
31
+ });
32
+ };
33
+ }
34
+ async autoMeasure(stage, fn) {
35
+ const measure = this.mark(stage);
36
+ const result = await fn();
37
+ measure();
38
+ return result;
39
+ }
40
+ load(serverTiming) {
41
+ const stages = parseServerTiming(serverTiming);
42
+ stages.forEach(({ during }, stage) => {
43
+ this.stages.set(stage, { during });
44
+ });
45
+ }
46
+ dumpStage(stage) {
47
+ return this.stages.get(stage) ?? {};
48
+ }
49
+ // public dump(): Array<{ stage: PERFORMANCE_STAGE, during?: number, startTime?: number }> {
50
+ // return Array.from(this.stages.entries()).map(([ stage, { during, startTime }]) => {
51
+ // return { stage, startTime, during };
52
+ // });
53
+ // }
54
+ /**
55
+ * 将性能数据写到 server-timing 响应头中
56
+ */
57
+ append2Response(response) {
58
+ const timing = this.serialize();
59
+ const newResponse = new Response(response.body, response);
60
+ newResponse.headers.set(exports.serverTimingHeader, timing);
61
+ return newResponse;
62
+ }
63
+ }
64
+ exports.ERPerformance = ERPerformance;
65
+ /**
66
+ * 将 Server-Timing: e1;dur=50, e2;dur=50 标准响应头解析为 Map<PERFORMANCE_STAGE, {during: number}>
67
+ */
68
+ function parseServerTiming(timing) {
69
+ return timing.split(',').reduce((result, item) => {
70
+ const [key, value] = item.split(';');
71
+ const stage = key.trim();
72
+ const during = parseInt(value.split('=')[1], 10);
73
+ result.set(stage, { during });
74
+ return result;
75
+ }, new Map());
76
+ }
77
+ //# 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,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERHttpClient = void 0;
4
+ const Enum_1 = require("../common/Enum");
5
+ const Error_1 = require("../common/Error");
6
+ const DEFAULT_REQUEST_INIT = {
7
+ cdnProxy: true,
8
+ // 两个 case:
9
+ // 1. 请求头带了 if-none-match 的命中缓存会返回 304
10
+ // 2. HEAD 请求默认的 decompress 解压会导致 ER 直接出错,所以直接改成 manual 不解压
11
+ decompress: Enum_1.DecompressType.MANUAL,
12
+ };
13
+ // Clear cookie for specific hosts when needed
14
+ const CLEAR_COOKIE_HOST = [
15
+ 'example-render1.com',
16
+ 'example-render2.com',
17
+ 'example-render3.com',
18
+ ];
19
+ class ERHttpClient {
20
+ /**
21
+ * 默认请求
22
+ * 显式透传参数,某些边缘计算环境存在 fetch / request 部分属性不支持,这里直接透传 method、headers、body、redirect
23
+ */
24
+ async request(requestInstance, options, standard) {
25
+ const { method, headers, body, redirect } = requestInstance;
26
+ const cdnProxy = options?.cdnProxy ?? DEFAULT_REQUEST_INIT.cdnProxy;
27
+ const decompress = options?.decompress ?? DEFAULT_REQUEST_INIT.decompress;
28
+ const unioFallback = options?.unioFallback ?? false;
29
+ const requestInit = {
30
+ cdnProxy,
31
+ decompress,
32
+ method,
33
+ headers,
34
+ redirect,
35
+ unioFallback,
36
+ };
37
+ const urlObj = new URL(requestInstance.url);
38
+ /* header 处理 */
39
+ const newHeaders = new Headers(headers);
40
+ if (CLEAR_COOKIE_HOST.includes(urlObj.host)) {
41
+ newHeaders.delete('cookie');
42
+ }
43
+ // 可以根据需要设置认证头
44
+ // newHeaders.set('x-custom-auth', 'your-auth-token');
45
+ requestInit.headers = newHeaders;
46
+ /* header 处理结束 */
47
+ if (![Enum_1.HttpMethod.CONNECT, Enum_1.HttpMethod.GET, Enum_1.HttpMethod.HEAD, Enum_1.HttpMethod.OPTIONS, Enum_1.HttpMethod.TRACE].includes(method)) {
48
+ requestInit.body = body;
49
+ }
50
+ if (!options?.timeout) {
51
+ return fetch(requestInstance, requestInit);
52
+ }
53
+ const timeout = options.timeout;
54
+ // Create a custom timeout promise.
55
+ const timeoutPromise = new Promise((_, reject) => {
56
+ setTimeout(() => {
57
+ reject((0, Error_1.genError)(Error_1.ErrorCode.TimeoutError, {
58
+ message: `Request timeout after ${timeout}ms, url: ${requestInstance.url}`,
59
+ }));
60
+ }, timeout);
61
+ });
62
+ try {
63
+ return await Promise.race([fetch(requestInstance, requestInit), timeoutPromise]);
64
+ }
65
+ catch (error) {
66
+ // 超时直接抛出错误更符合 fetch 标准,为了兼容存量代码这里还是通过配置开启
67
+ if (standard) {
68
+ throw error;
69
+ }
70
+ const errorMessage = error instanceof Error ? error.message : String(error);
71
+ return new Response(`Error: ${errorMessage}`, { status: 408 });
72
+ }
73
+ }
74
+ }
75
+ exports.ERHttpClient = ERHttpClient;
76
+ //# sourceMappingURL=Fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../../../src/core/Fetch.ts"],"names":[],"mappings":"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"}