@jonathanleelx/meddle 0.5.0-beta.1 → 0.5.0-beta.10

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 (108) hide show
  1. package/bin/commands/mock/add.js +25 -3
  2. package/bin/commands/mock/index.js +8 -4
  3. package/bin/commands/mock/list.js +1 -0
  4. package/bin/commands/mock/update.js +23 -4
  5. package/dist/core/h2-pool.d.ts +1 -0
  6. package/dist/core/h2-pool.d.ts.map +1 -1
  7. package/dist/core/h2-pool.js +79 -23
  8. package/dist/core/h2-pool.js.map +1 -1
  9. package/dist/core/mock-handler.d.ts.map +1 -1
  10. package/dist/core/mock-handler.js +12 -14
  11. package/dist/core/mock-handler.js.map +1 -1
  12. package/dist/core/mock-utils.d.ts +30 -0
  13. package/dist/core/mock-utils.d.ts.map +1 -0
  14. package/dist/core/mock-utils.js +117 -0
  15. package/dist/core/mock-utils.js.map +1 -0
  16. package/dist/core/plugin-intercept.d.ts.map +1 -1
  17. package/dist/core/plugin-intercept.js +1 -0
  18. package/dist/core/plugin-intercept.js.map +1 -1
  19. package/dist/core/remote-access.d.ts +11 -0
  20. package/dist/core/remote-access.d.ts.map +1 -1
  21. package/dist/core/remote-access.js +32 -0
  22. package/dist/core/remote-access.js.map +1 -1
  23. package/dist/core/types.d.ts +4 -1
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/helpers.d.ts +8 -1
  26. package/dist/helpers.d.ts.map +1 -1
  27. package/dist/helpers.js +22 -5
  28. package/dist/helpers.js.map +1 -1
  29. package/dist/plugins/builtin/mock-plugin.d.ts.map +1 -1
  30. package/dist/plugins/builtin/mock-plugin.js +6 -5
  31. package/dist/plugins/builtin/mock-plugin.js.map +1 -1
  32. package/dist/server/agent/tools.d.ts.map +1 -1
  33. package/dist/server/agent/tools.js +4 -0
  34. package/dist/server/agent/tools.js.map +1 -1
  35. package/dist/server/index.d.ts +1 -0
  36. package/dist/server/index.d.ts.map +1 -1
  37. package/dist/server/index.js.map +1 -1
  38. package/dist/server/mocks.d.ts.map +1 -1
  39. package/dist/server/mocks.js +1 -0
  40. package/dist/server/mocks.js.map +1 -1
  41. package/dist/server/rule-files.d.ts +44 -0
  42. package/dist/server/rule-files.d.ts.map +1 -1
  43. package/dist/server/rule-files.js +93 -0
  44. package/dist/server/rule-files.js.map +1 -1
  45. package/index.js +7 -8
  46. package/mcp-server.js +3 -0
  47. package/package.json +3 -2
  48. package/plugins/builtin/mock-plugin.ts +9 -5
  49. package/web/dist/assets/{checkbox-7NvTvLBs.js → checkbox-C5E3KITf.js} +1 -1
  50. package/web/dist/assets/{code-fixer-DoYxwBWb.js → code-fixer-Bbz_Rlzx.js} +2 -2
  51. package/web/dist/assets/detail-panel-SO3wZGmE.js +4 -0
  52. package/web/dist/assets/{dist-CxdY_A67.js → dist-C8RHq5At.js} +1 -1
  53. package/web/dist/assets/{dist-B8XUKgXe.js → dist-DoE7uybN.js} +1 -1
  54. package/web/dist/assets/{es2015-CfXu88Y7.js → es2015-DG46NGN7.js} +1 -1
  55. package/web/dist/assets/{global-panel-shell-Dq8vMdMI.js → global-panel-shell-czRfHl6X.js} +2 -2
  56. package/web/dist/assets/health-panel-B1nzvjHe.js +1 -0
  57. package/web/dist/assets/index-ChDOPlV_.js +18 -0
  58. package/web/dist/assets/index-bfV7sxx5.css +2 -0
  59. package/web/dist/assets/mobile-proxy-panel-By90SSuO.js +8 -0
  60. package/web/dist/assets/mock-config-8d2upIWY.js +1 -0
  61. package/web/dist/assets/mock-editor-panel-BzWl9IR3.js +1 -0
  62. package/web/dist/assets/{monaco-editor-CHNSCVe0.js → monaco-editor-BQUxbjIX.js} +1 -1
  63. package/web/dist/assets/plugin-code-editor-B38R8_va.js +2 -0
  64. package/web/dist/assets/plugin-config-BLTqZSgU.js +1 -0
  65. package/web/dist/assets/{plugin-generator-CojssHdE.js → plugin-generator-E5zcpf48.js} +2 -2
  66. package/web/dist/assets/plugin-test-dialog-BnYV2F3L.js +7 -0
  67. package/web/dist/assets/{route-preview-BecifYSe.js → route-preview-F0FExfHC.js} +1 -1
  68. package/web/dist/assets/{rule-ai-assistant-panel-LWDaNQKt.js → rule-ai-assistant-panel-D98DyECu.js} +2 -2
  69. package/web/dist/assets/rule-config-CKzf2Bdl.js +15 -0
  70. package/web/dist/assets/rule-overview-panel-8RHOtrPS.js +1 -0
  71. package/web/dist/assets/{select-C5thwxXQ.js → select-BavfGQkS.js} +1 -1
  72. package/web/dist/assets/settings-panel-BquHT2tt.js +1 -0
  73. package/web/dist/assets/{switch-C-Xk56TK.js → switch-Bes_YiJu.js} +1 -1
  74. package/web/dist/assets/table-2-BR5e3z8m.js +1 -0
  75. package/web/dist/index.html +10 -10
  76. package/web/dist/assets/detail-panel-vwvLpmzz.js +0 -4
  77. package/web/dist/assets/health-panel-CVQcuI1d.js +0 -1
  78. package/web/dist/assets/index-DJ5BnqEk.js +0 -18
  79. package/web/dist/assets/index-PcoCj3ST.css +0 -2
  80. package/web/dist/assets/mobile-proxy-panel-DMJRIDMK.js +0 -8
  81. package/web/dist/assets/mock-config-BTdHrudB.js +0 -1
  82. package/web/dist/assets/mock-editor-panel-ztb1w__0.js +0 -1
  83. package/web/dist/assets/plugin-code-editor-C_h_-lKr.js +0 -2
  84. package/web/dist/assets/plugin-config-B5tDGCq-.js +0 -1
  85. package/web/dist/assets/plugin-test-dialog-iWeHVCGW.js +0 -7
  86. package/web/dist/assets/rule-config-CLte-qNZ.js +0 -15
  87. package/web/dist/assets/settings-panel-Bx_qz1RQ.js +0 -1
  88. /package/web/dist/assets/{ai-config-store-DQXVJVn_.js → ai-config-store-C8D_PUGV.js} +0 -0
  89. /package/web/dist/assets/{alert-Bve02Ufr.js → alert-DCvlZAiv.js} +0 -0
  90. /package/web/dist/assets/{babel-DsprIpXZ.js → babel-DCr4VA1c.js} +0 -0
  91. /package/web/dist/assets/{body-diff-view-D7dCWajG.js → body-diff-view-B-4XWmL6.js} +0 -0
  92. /package/web/dist/assets/{clipboard-Dz6MgwV-.js → clipboard-VhPXNN5m.js} +0 -0
  93. /package/web/dist/assets/{dist-Cn0y0IRn.js → dist-Blyulj4_.js} +0 -0
  94. /package/web/dist/assets/{dist-DZJ9SMlJ.js → dist-Bsv9ad5F.js} +0 -0
  95. /package/web/dist/assets/{dist-Bb9TeEub.js → dist-CEd_wnRC.js} +0 -0
  96. /package/web/dist/assets/{dist-D5Dj17P8.js → dist-Ce4ujolc.js} +0 -0
  97. /package/web/dist/assets/{dist-C5nMErq8.js → dist-DWmDaXVN.js} +0 -0
  98. /package/web/dist/assets/{estree-BP7k0NIt.js → estree-qO_m2Qaw.js} +0 -0
  99. /package/web/dist/assets/{file-system-access-DK7FI6pN.js → file-system-access-_og-Tg9o.js} +0 -0
  100. /package/web/dist/assets/{html-6FIWbqxX.js → html-VDGahtyk.js} +0 -0
  101. /package/web/dist/assets/{postcss-Dnf30fQU.js → postcss-BUm8EKMw.js} +0 -0
  102. /package/web/dist/assets/{standalone-CjxtLKw-.js → standalone-Bj8SSd8Q.js} +0 -0
  103. /package/web/dist/assets/{syntax-highlight-BHsSDUha.js → syntax-highlight-Dk0-ewLI.js} +0 -0
  104. /package/web/dist/assets/{table-DymgLlcc.js → table-nW7uQVcl.js} +0 -0
  105. /package/web/dist/assets/{textarea-vuxJwU0x.js → textarea-BSI0rnW6.js} +0 -0
  106. /package/web/dist/assets/{wand-sparkles-wkul5vje.js → wand-sparkles-CJ7fSnom.js} +0 -0
  107. /package/web/dist/assets/{wifi-D9M35Ajj.js → wifi-CCLKyySQ.js} +0 -0
  108. /package/web/dist/assets/{zap-Djo4cgux.js → zap-DR-xiUMe.js} +0 -0
@@ -12,23 +12,40 @@ const args = process.argv.slice(3)
12
12
  const jsonFlag = args.includes('--json')
13
13
  output.setJsonMode(jsonFlag)
14
14
 
15
+ function parseCorsFlag(options) {
16
+ if (!options.cors) return
17
+ const corsHeaders = {
18
+ 'Access-Control-Allow-Origin': '{origin}',
19
+ 'Access-Control-Allow-Credentials': 'true',
20
+ 'Access-Control-Allow-Methods': '*',
21
+ 'Access-Control-Allow-Headers': '*',
22
+ }
23
+ options.headers = { ...corsHeaders, ...(options.headers || {}) }
24
+ delete options.cors
25
+ }
26
+
15
27
  function parseArgs(args) {
16
28
  const options = {}
17
29
  for (let i = 0; i < args.length; i++) {
18
30
  if (args[i] === '--name') options.name = args[++i]
19
31
  else if (args[i] === '--pattern') options.urlPattern = args[++i]
32
+ else if (args[i] === '--query') options.query = args[++i]
20
33
  else if (args[i] === '--method') options.method = args[++i]
21
34
  else if (args[i] === '--status') options.statusCode = parseInt(args[++i], 10)
22
35
  else if (args[i] === '--body') options.body = args[++i]
23
36
  else if (args[i] === '--delay') options.delay = parseInt(args[++i], 10)
37
+ else if (args[i] === '--cors') options.cors = true
24
38
  else if (args[i] === '--headers') {
39
+ const raw = args[++i]
25
40
  try {
26
- options.headers = JSON.parse(args[++i])
41
+ options.headers = JSON.parse(raw)
27
42
  } catch (_) {
28
- options.headers = {}
43
+ output.error('Invalid --headers JSON: ' + raw)
44
+ process.exit(1)
29
45
  }
30
46
  }
31
47
  }
48
+ parseCorsFlag(options)
32
49
  return options
33
50
  }
34
51
 
@@ -49,6 +66,7 @@ async function run() {
49
66
  const rule = {
50
67
  name: options.name,
51
68
  urlPattern: options.urlPattern,
69
+ query: options.query || '',
52
70
  method: options.method || '*',
53
71
  statusCode: options.statusCode || 200,
54
72
  delay: options.delay || 0,
@@ -81,12 +99,16 @@ async function run() {
81
99
  output.header('Mock Rule Added')
82
100
  output.success(`#${result.id}: ${result.name}`)
83
101
  output.kv('Pattern', result.urlPattern)
102
+ if (result.query) output.kv('Query', result.query)
84
103
  output.kv('Method', result.method)
85
104
  output.kv('Status', result.statusCode)
86
105
  output.kv('Delay', `${result.delay}ms`)
106
+ if (result.headers && Object.keys(result.headers).length > 0) {
107
+ output.kv('Headers', JSON.stringify(result.headers))
108
+ }
87
109
  }
88
110
 
89
111
  run().catch(e => {
90
112
  output.error(e.message)
91
113
  process.exit(1)
92
- })
114
+ })
@@ -32,19 +32,23 @@ Mock Commands:
32
32
  meddle mock enable <id> Enable a mock rule
33
33
  meddle mock disable <id> Disable a mock rule
34
34
 
35
- Add Options:
35
+ Add / Update Options:
36
36
  --name <n> Rule name
37
- --pattern <p> URL pattern (regex or string)
37
+ --pattern <p> URL pattern (regex or string; may include query)
38
+ --query <q> Query match (exact key=value params, e.g. window_key=A; not prefix)
38
39
  --method <m> HTTP method (GET, POST, *, default: *)
39
40
  --status <s> Response status code (default: 200)
40
41
  --body <b> Response body content
41
42
  --delay <d> Response delay in ms (default: 0)
43
+ --headers <json> Response headers JSON (values may use {origin})
44
+ --cors Shortcut: credentials-friendly CORS headers with {origin}
42
45
 
43
46
  Examples:
44
47
  meddle mock list
45
48
  meddle mock add --name "API Mock" --pattern "example.com/api" --status 200
46
- meddle mock update 1 --status 404
49
+ meddle mock add --name "Policy A" --pattern "/ops/.*/policy" --query "window_key=A" --body '{"key":"A"}' --cors
50
+ meddle mock update 1 --status 404 --headers '{"X-Debug":"1"}'
47
51
  meddle mock delete 1
48
52
  `)
49
53
  process.exit(1)
50
- }
54
+ }
@@ -48,6 +48,7 @@ async function run() {
48
48
  output.section('Active Rules')
49
49
  active.forEach(rule => {
50
50
  output.success(`#${rule.id}: ${rule.name} (${rule.urlPattern})`)
51
+ if (rule.query) output.kv('Query', rule.query, 4)
51
52
  output.kv('Status', rule.statusCode, 4)
52
53
  output.kv('Method', rule.method || '*', 4)
53
54
  output.kv('Delay', `${rule.delay || 0}ms`, 4)
@@ -5,13 +5,25 @@
5
5
  const output = require('../../lib/output')
6
6
  const { isProxyRunning } = require('../../lib/proxy-detect')
7
7
  const { apiPut } = require('../../lib/api-client')
8
- const { updateMockRule, loadMockRules, saveMockRules } = require('../../lib/file-access')
8
+ const { updateMockRule } = require('../../lib/file-access')
9
9
 
10
10
  // Parse arguments (skip 'mock' and 'update' from argv)
11
11
  const args = process.argv.slice(4)
12
12
  const jsonFlag = args.includes('--json')
13
13
  output.setJsonMode(jsonFlag)
14
14
 
15
+ function parseCorsFlag(options) {
16
+ if (!options.cors) return
17
+ const corsHeaders = {
18
+ 'Access-Control-Allow-Origin': '{origin}',
19
+ 'Access-Control-Allow-Credentials': 'true',
20
+ 'Access-Control-Allow-Methods': '*',
21
+ 'Access-Control-Allow-Headers': '*',
22
+ }
23
+ options.headers = { ...corsHeaders, ...(options.headers || {}) }
24
+ delete options.cors
25
+ }
26
+
15
27
  function parseArgs(args) {
16
28
  // First positional arg is id
17
29
  let id = null
@@ -20,15 +32,19 @@ function parseArgs(args) {
20
32
  for (let i = 0; i < args.length; i++) {
21
33
  if (args[i] === '--name') options.name = args[++i]
22
34
  else if (args[i] === '--pattern') options.urlPattern = args[++i]
35
+ else if (args[i] === '--query') options.query = args[++i]
23
36
  else if (args[i] === '--method') options.method = args[++i]
24
37
  else if (args[i] === '--status') options.statusCode = parseInt(args[++i], 10)
25
38
  else if (args[i] === '--body') options.body = args[++i]
26
39
  else if (args[i] === '--delay') options.delay = parseInt(args[++i], 10)
40
+ else if (args[i] === '--cors') options.cors = true
27
41
  else if (args[i] === '--headers') {
42
+ const raw = args[++i]
28
43
  try {
29
- options.headers = JSON.parse(args[++i])
44
+ options.headers = JSON.parse(raw)
30
45
  } catch (_) {
31
- options.headers = {}
46
+ output.error('Invalid --headers JSON: ' + raw)
47
+ process.exit(1)
32
48
  }
33
49
  }
34
50
  else if (!args[i].startsWith('--') && id === null) {
@@ -36,6 +52,7 @@ function parseArgs(args) {
36
52
  }
37
53
  }
38
54
 
55
+ parseCorsFlag(options)
39
56
  return { id, options }
40
57
  }
41
58
 
@@ -83,12 +100,14 @@ async function run() {
83
100
  output.header('Mock Rule Updated')
84
101
  output.success(`#${result.id}: ${result.name}`)
85
102
  if (options.urlPattern) output.kv('Pattern', result.urlPattern)
103
+ if (options.query !== undefined) output.kv('Query', result.query || '(none)')
86
104
  if (options.method) output.kv('Method', result.method)
87
105
  if (options.statusCode) output.kv('Status', result.statusCode)
88
106
  if (options.delay) output.kv('Delay', `${result.delay}ms`)
107
+ if (options.headers) output.kv('Headers', JSON.stringify(result.headers || {}))
89
108
  }
90
109
 
91
110
  run().catch(e => {
92
111
  output.error(e.message)
93
112
  process.exit(1)
94
- })
113
+ })
@@ -3,5 +3,6 @@ import type { ProxyResponse } from './types';
3
3
  export declare const UPSTREAM_TIMEOUT_CODE = "UPSTREAM_TIMEOUT";
4
4
  export declare function cleanHeadersForH2(headers: Record<string, any>): Record<string, any>;
5
5
  export declare function __setH2SessionFactoryForTest(factory: ((origin: string, opts: http2.SecureClientSessionOptions) => http2.ClientHttp2Session) | null): void;
6
+ export declare function __setForceHttp1ForTest(value: boolean | null): void;
6
7
  export declare function makeProxyRequest(target: string, method: string, headers: Record<string, any>, reqBody: Buffer): Promise<ProxyResponse>;
7
8
  //# sourceMappingURL=h2-pool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h2-pool.d.ts","sourceRoot":"","sources":["../../core/h2-pool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAc5C,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AA2BvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASnF;AAKD,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,0BAA0B,KAAK,KAAK,CAAC,kBAAkB,CAAC,GAAG,IAAI,GACvG,IAAI,CAEN;AA2HD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAU5I"}
1
+ {"version":3,"file":"h2-pool.d.ts","sourceRoot":"","sources":["../../core/h2-pool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAyB5C,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AA2BvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASnF;AAKD,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,0BAA0B,KAAK,KAAK,CAAC,kBAAkB,CAAC,GAAG,IAAI,GACvG,IAAI,CAEN;AAKD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAElE;AAkKD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAU5I"}
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.UPSTREAM_TIMEOUT_CODE = void 0;
40
40
  exports.cleanHeadersForH2 = cleanHeadersForH2;
41
41
  exports.__setH2SessionFactoryForTest = __setH2SessionFactoryForTest;
42
+ exports.__setForceHttp1ForTest = __setForceHttp1ForTest;
42
43
  exports.makeProxyRequest = makeProxyRequest;
43
44
  const http = __importStar(require("http"));
44
45
  const https = __importStar(require("https"));
@@ -48,10 +49,19 @@ const proxyDebug = (0, debug_1.default)('proxy');
48
49
  const h2SessionPool = new Map();
49
50
  const MAX_H2_SESSIONS = process.env.MEDDLE_MAX_H2_SESSIONS ? parseInt(process.env.MEDDLE_MAX_H2_SESSIONS) : 32;
50
51
  const DEFAULT_UPSTREAM_REQUEST_TIMEOUT_MS = 60000;
52
+ // Shorter than H1: deno's http2 client can hang on empty-body responses; fallback
53
+ // to H1 should happen before a CORS / browser request looks "stuck" (#72).
54
+ const DEFAULT_H2_REQUEST_TIMEOUT_MS = 8000;
55
+ function parsePositiveMs(raw, fallback) {
56
+ const parsed = raw ? parseInt(raw, 10) : NaN;
57
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
58
+ }
51
59
  function upstreamTimeoutMs() {
52
- const fromEnv = process.env.MEDDLE_UPSTREAM_TIMEOUT_MS;
53
- const parsed = fromEnv ? parseInt(fromEnv, 10) : NaN;
54
- return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_UPSTREAM_REQUEST_TIMEOUT_MS;
60
+ return parsePositiveMs(process.env.MEDDLE_UPSTREAM_TIMEOUT_MS, DEFAULT_UPSTREAM_REQUEST_TIMEOUT_MS);
61
+ }
62
+ function h2RequestTimeoutMs() {
63
+ const h2 = parsePositiveMs(process.env.MEDDLE_H2_REQUEST_TIMEOUT_MS, DEFAULT_H2_REQUEST_TIMEOUT_MS);
64
+ return Math.min(h2, upstreamTimeoutMs());
55
65
  }
56
66
  exports.UPSTREAM_TIMEOUT_CODE = 'UPSTREAM_TIMEOUT';
57
67
  function upstreamTimeoutError(target, timeoutMs) {
@@ -99,6 +109,21 @@ let sessionFactoryOverride = null;
99
109
  function __setH2SessionFactoryForTest(factory) {
100
110
  sessionFactoryOverride = factory;
101
111
  }
112
+ // Deno's node:http2 client hangs on empty-body responses (204/HEAD/OPTIONS)
113
+ // regardless of method (#72, #74 follow-up). Binary builds must not use it.
114
+ let forceHttp1Override = null;
115
+ function __setForceHttp1ForTest(value) {
116
+ forceHttp1Override = value;
117
+ }
118
+ function isDenoRuntime() {
119
+ return typeof globalThis.Deno !== 'undefined'
120
+ || typeof process.versions.deno === 'string';
121
+ }
122
+ function shouldForceHttp1() {
123
+ if (forceHttp1Override !== null)
124
+ return forceHttp1Override;
125
+ return isDenoRuntime();
126
+ }
102
127
  function createH2Session(origin, opts) {
103
128
  return sessionFactoryOverride ? sessionFactoryOverride(origin, opts) : http2.connect(origin, opts);
104
129
  }
@@ -151,6 +176,13 @@ function getOrCreateH2Session(origin, servername) {
151
176
  });
152
177
  });
153
178
  }
179
+ /** CORS preflight (OPTIONS) and HEAD typically have empty bodies. Deno's
180
+ * node:http2 client never emits `response`/`end` for those, so they must
181
+ * not go through proxyViaH2 (#72). */
182
+ function shouldSkipHttp2(method) {
183
+ const m = String(method || '').toUpperCase();
184
+ return m === 'OPTIONS' || m === 'HEAD';
185
+ }
154
186
  function proxyViaH2(target, method, headers, reqBody) {
155
187
  const url = new URL(target);
156
188
  const origin = url.origin;
@@ -159,30 +191,54 @@ function proxyViaH2(target, method, headers, reqBody) {
159
191
  const servername = (url.hostname !== originalHostname) ? originalHostname : undefined;
160
192
  return getOrCreateH2Session(origin, servername).then(session => {
161
193
  return new Promise((resolve, reject) => {
194
+ const h2Headers = cleanHeadersForH2(headers);
195
+ h2Headers[':method'] = method;
196
+ h2Headers[':path'] = url.pathname + url.search;
197
+ h2Headers[':authority'] = originalHost;
198
+ h2Headers[':scheme'] = url.protocol.replace(':', '');
199
+ let h2Stream;
162
200
  try {
163
- const h2Headers = cleanHeadersForH2(headers);
164
- h2Headers[':method'] = method;
165
- h2Headers[':path'] = url.pathname + url.search;
166
- h2Headers[':authority'] = originalHost;
167
- h2Headers[':scheme'] = url.protocol.replace(':', '');
168
- const h2Stream = session.request(h2Headers);
169
- h2Stream.on('response', (resHeaders) => {
170
- const statusCode = Number(resHeaders[':status']);
171
- const clean = {};
172
- for (const [k, v] of Object.entries(resHeaders)) {
173
- if (!k.startsWith(':'))
174
- clean[k] = v;
175
- }
176
- resolve({ statusCode, statusMessage: '', headers: clean, stream: h2Stream, protocol: 'h2' });
177
- });
178
- h2Stream.on('error', reject);
179
- if (reqBody && reqBody.length > 0)
180
- h2Stream.write(reqBody);
181
- h2Stream.end();
201
+ h2Stream = session.request(h2Headers);
182
202
  }
183
203
  catch (err) {
184
204
  reject(err);
205
+ return;
185
206
  }
207
+ const timeoutMs = h2RequestTimeoutMs();
208
+ let settled = false;
209
+ const settle = (fn) => {
210
+ if (settled)
211
+ return;
212
+ settled = true;
213
+ clearTimeout(timer);
214
+ fn();
215
+ };
216
+ const timer = setTimeout(() => {
217
+ settle(() => {
218
+ try {
219
+ h2Stream.close();
220
+ }
221
+ catch (_) { /* ignore */ }
222
+ try {
223
+ h2Stream.destroy();
224
+ }
225
+ catch (_) { /* ignore */ }
226
+ reject(upstreamTimeoutError(target, timeoutMs));
227
+ });
228
+ }, timeoutMs);
229
+ h2Stream.on('response', (resHeaders) => {
230
+ const statusCode = Number(resHeaders[':status']);
231
+ const clean = {};
232
+ for (const [k, v] of Object.entries(resHeaders)) {
233
+ if (!k.startsWith(':'))
234
+ clean[k] = v;
235
+ }
236
+ settle(() => resolve({ statusCode, statusMessage: '', headers: clean, stream: h2Stream, protocol: 'h2' }));
237
+ });
238
+ h2Stream.on('error', (err) => settle(() => reject(err)));
239
+ if (reqBody && reqBody.length > 0)
240
+ h2Stream.write(reqBody);
241
+ h2Stream.end();
186
242
  });
187
243
  });
188
244
  }
@@ -219,7 +275,7 @@ function proxyViaH1(target, method, headers, reqBody) {
219
275
  });
220
276
  }
221
277
  async function makeProxyRequest(target, method, headers, reqBody) {
222
- if (target.startsWith('https')) {
278
+ if (target.startsWith('https') && !shouldSkipHttp2(method) && !shouldForceHttp1()) {
223
279
  try {
224
280
  return await proxyViaH2(target, method, headers, reqBody);
225
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"h2-pool.js","sourceRoot":"","sources":["../../core/h2-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"h2-pool.js","sourceRoot":"","sources":["../../core/h2-pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-handler.d.ts","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAIvE,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAQ3E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAoPhE"}
1
+ {"version":3,"file":"mock-handler.d.ts","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAUvE,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAQ3E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAgQhE"}
@@ -45,6 +45,7 @@ const map_local_1 = require("./map-local");
45
45
  const proxy_record_1 = require("./proxy-record");
46
46
  const client_identity_1 = require("./client-identity");
47
47
  const body_utils_1 = require("./body-utils");
48
+ const mock_utils_1 = require("./mock-utils");
48
49
  const proxyDebug = (0, debug_1.default)('proxy');
49
50
  /** 按 id 去重,后出现的条目覆盖先前的(与前端 use-mocks 行为一致) */
50
51
  function dedupeMockRulesById(rules) {
@@ -117,25 +118,23 @@ function createMockHandler(ctx) {
117
118
  return false;
118
119
  if (rule.method && rule.method !== '*' && rule.method.toUpperCase() !== method.toUpperCase())
119
120
  return false;
120
- try {
121
- return new RegExp(rule.urlPattern).test(url);
122
- }
123
- catch {
124
- return url.includes(rule.urlPattern);
125
- }
121
+ if (!(0, mock_utils_1.matchUrlPattern)(url, rule.urlPattern))
122
+ return false;
123
+ if (!(0, mock_utils_1.matchQueryCondition)(url, rule.query))
124
+ return false;
125
+ return true;
126
126
  }) || null;
127
127
  }
128
- function buildMockResponseForTest(rule) {
128
+ function buildMockResponseForTest(rule, requestHeaders) {
129
129
  const statusCode = rule.statusCode || 200;
130
130
  const ruleHeaders = {};
131
131
  for (const [key, value] of Object.entries(rule.headers || {})) {
132
132
  ruleHeaders[key.toLowerCase()] = value;
133
133
  }
134
- const headers = {
134
+ const headers = (0, mock_utils_1.resolveHeaderPlaceholders)((0, mock_utils_1.mergeResponseHeaders)({
135
135
  'x-mock-rule': encodeURIComponent(rule.name || rule.id?.toString() || rule.urlPattern || ''),
136
- 'content-type': ruleHeaders['content-type'] || 'application/json',
137
- ...ruleHeaders,
138
- };
136
+ 'content-type': 'application/json',
137
+ }, ruleHeaders), requestHeaders);
139
138
  let body = '';
140
139
  if (rule.bodyType === 'file' && rule.body) {
141
140
  let filePath = rule.body.replace(/^file:\/\//, '').replace(/^\/[A-Za-z]:\//, '');
@@ -171,13 +170,12 @@ function createMockHandler(ctx) {
171
170
  for (const [key, value] of Object.entries(rule.headers || {})) {
172
171
  ruleHeaders[key.toLowerCase()] = value;
173
172
  }
174
- const responseHeaders = {
173
+ const responseHeaders = (0, mock_utils_1.resolveHeaderPlaceholders)((0, mock_utils_1.mergeResponseHeaders)({
175
174
  'X-Mock-Rule': encodeURIComponent(mockRuleName),
176
175
  'Access-Control-Allow-Origin': '*',
177
176
  'Access-Control-Allow-Methods': '*',
178
177
  'Access-Control-Allow-Headers': '*',
179
- ...ruleHeaders
180
- };
178
+ }, ruleHeaders), req.headers);
181
179
  let finalStatusCode = statusCode;
182
180
  let statusMessage = 'OK (Mock)';
183
181
  if (isFileBody) {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-handler.js","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-handler.js","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared helpers for mock URL/query matching and response header placeholders.
3
+ */
4
+ /** Extract the query string (without leading `?`) from a full or path-only URL. */
5
+ export declare function extractUrlSearch(url: string): string;
6
+ /** Match urlPattern as RegExp, falling back to substring includes on invalid regex. */
7
+ export declare function matchUrlPattern(url: string, pattern: string): boolean;
8
+ /**
9
+ * Optional query condition: every `&`-separated token must match an exact
10
+ * `key=value` parameter in the URL search (URLSearchParams / `&`-boundary
11
+ * semantics). Example: `window_key=A` matches `?window_key=A&x=1` but not
12
+ * `?window_key=AB`. Multi-token `a=1&b=2` requires all pairs.
13
+ * Empty/undefined query matches any request.
14
+ */
15
+ export declare function matchQueryCondition(url: string, query?: string | null): boolean;
16
+ /** Read Origin from request headers (case-insensitive). Falls back to `*`. */
17
+ export declare function getRequestOrigin(headers?: Record<string, any> | null): string;
18
+ /** Credentials-friendly CORS header template (Origin echoed via `{origin}`). */
19
+ export declare function corsCredentialHeaders(): Record<string, string>;
20
+ /**
21
+ * Resolve `{origin}` placeholders in header values using the request Origin.
22
+ * Placeholder match is case-insensitive.
23
+ */
24
+ export declare function resolveHeaderPlaceholders(headers: Record<string, string>, requestHeaders?: Record<string, any> | null): Record<string, string>;
25
+ /**
26
+ * Merge header maps case-insensitively: later entries win and replace any
27
+ * existing key that matches ignoring case (avoids duplicate ACAO * + {origin}).
28
+ */
29
+ export declare function mergeResponseHeaders(...layers: Array<Record<string, string> | null | undefined>): Record<string, string>;
30
+ //# sourceMappingURL=mock-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-utils.d.ts","sourceRoot":"","sources":["../../core/mock-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAOrE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAiB/E;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAS7E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC5D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB"}