@fuzionx/core 0.1.45 → 0.1.47

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 (2) hide show
  1. package/lib/app.js +21 -4
  2. package/package.json +2 -2
package/lib/app.js CHANGED
@@ -178,7 +178,16 @@ export class FuzionXApp {
178
178
  * @param {number} [port]
179
179
  * @param {Function} [callback]
180
180
  */
181
- listen(port, callback) {
181
+ /**
182
+ * Bridge 서버 시작
183
+ *
184
+ * @param {number} [port] - 리스닝 포트
185
+ * @param {Function} [callback] - 서버 시작 후 콜백
186
+ * @param {Function} [requestHandler] - 커스텀 요청 핸들러 (rawReq → response)
187
+ * 제공 시 Core의 createReq/createRes/runMiddlewareChain 파이프라인을 우회하고
188
+ * rawReq를 직접 처리. Framework가 자체 Context로 직통 처리할 때 사용.
189
+ */
190
+ listen(port, callback, requestHandler) {
182
191
  if (typeof port === 'function') { callback = port; port = this._port; }
183
192
  port = port || this._port;
184
193
 
@@ -238,9 +247,17 @@ export class FuzionXApp {
238
247
  this._boot();
239
248
  }
240
249
 
241
- this._router.build();
242
- this._buildMiddlewareCache();
243
- this._bridge.startFusionServer(port, (rawReq) => this._handleRequest(rawReq));
250
+ if (requestHandler) {
251
+ // ⚡ Framework raw mode: Core의 createReq/createRes/runMiddlewareChain 우회
252
+ // Framework가 rawReq Context → _toFusionResponse 직통 처리
253
+ // 라우트는 Framework가 직접 Bridge에 등록 완료 상태
254
+ this._bridge.startFusionServer(port, requestHandler);
255
+ } else {
256
+ // Core standalone mode: 자체 라우팅 + 미들웨어
257
+ this._router.build();
258
+ this._buildMiddlewareCache();
259
+ this._bridge.startFusionServer(port, (rawReq) => this._handleRequest(rawReq));
260
+ }
244
261
 
245
262
  if (cluster.isWorker) {
246
263
  console.log(`[fuzionx] Worker PID=${process.pid} on :${port}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fuzionx/core",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "type": "module",
5
5
  "description": "Express-style Node.js framework powered by FuzionX native bridge — 167K RPS single process",
6
6
  "main": "index.js",
@@ -27,7 +27,7 @@
27
27
  "url": "https://github.com/saytohenry/fuzionx"
28
28
  },
29
29
  "dependencies": {
30
- "@fuzionx/bridge": "^0.1.45"
30
+ "@fuzionx/bridge": "^0.1.47"
31
31
  },
32
32
  "files": [
33
33
  "index.js",