@fluojs/platform-deno 1.0.0-beta.1 → 1.0.0-beta.2
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.
- package/README.ko.md +19 -0
- package/README.md +19 -0
- package/dist/adapter.d.ts +9 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +9 -4
- package/package.json +4 -3
package/README.ko.md
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
- [사용 시점](#사용-시점)
|
|
11
11
|
- [빠른 시작](#빠른-시작)
|
|
12
12
|
- [주요 패턴](#주요-패턴)
|
|
13
|
+
- [HTTPS와 런타임 이식성](#https와-런타임-이식성)
|
|
13
14
|
- [공개 API 개요](#공개-api-개요)
|
|
14
15
|
- [관련 패키지](#관련-패키지)
|
|
15
16
|
- [예제 소스](#예제-소스)
|
|
@@ -66,12 +67,30 @@ const response = await adapter.handle(new Request('http://localhost:3000/health'
|
|
|
66
67
|
export class MyGateway {}
|
|
67
68
|
```
|
|
68
69
|
|
|
70
|
+
## HTTPS와 런타임 이식성
|
|
71
|
+
|
|
72
|
+
`https` 옵션으로 Deno TLS 인증서 자료를 전달하면 `Deno.serve`를 HTTPS 모드로 시작할 수 있습니다. 어댑터는 `https.cert`와 `https.key`를 Deno의 `cert` 및 `key`로 전달하며, 시작 로그도 `https://` listen URL을 보고하므로 Deno 패키지가 공유 HTTP 어댑터 이식성 계약과 정렬됩니다.
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
await runDenoApplication(AppModule, {
|
|
76
|
+
hostname: '127.0.0.1',
|
|
77
|
+
https: {
|
|
78
|
+
cert: await Deno.readTextFile('./cert.pem'),
|
|
79
|
+
key: await Deno.readTextFile('./key.pem'),
|
|
80
|
+
},
|
|
81
|
+
port: 3443,
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`hostname`은 Deno 네이티브 옵션 이름으로 유지됩니다. 공유 HTTP 어댑터 테스트와 교차 런타임 설정 헬퍼를 위해 `host`도 이식성 alias로 허용하며, 둘 다 제공하면 `hostname`이 우선합니다.
|
|
86
|
+
|
|
69
87
|
## 공개 API 개요
|
|
70
88
|
|
|
71
89
|
- `createDenoAdapter(options)`: Deno HTTP 어댑터를 위한 팩토리입니다.
|
|
72
90
|
- `bootstrapDenoApplication(module, options)`: 커스텀 오케스트레이션을 위한 고급 부트스트랩입니다.
|
|
73
91
|
- `runDenoApplication(module, options)`: Deno를 위한 권장 빠른 시작 헬퍼입니다.
|
|
74
92
|
- `handle(request)`: 수동 `Request` to `Response` 디스패처입니다.
|
|
93
|
+
- `https: { cert, key }`: `Deno.serve`로 전달되고 보고되는 listen URL에 반영되는 HTTPS 시작 옵션입니다.
|
|
75
94
|
|
|
76
95
|
## 관련 패키지
|
|
77
96
|
|
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ Deno-backed HTTP adapter for the fluo runtime, built on native `Deno.serve`.
|
|
|
10
10
|
- [When to Use](#when-to-use)
|
|
11
11
|
- [Quick Start](#quick-start)
|
|
12
12
|
- [Common Patterns](#common-patterns)
|
|
13
|
+
- [HTTPS and Runtime Portability](#https-and-runtime-portability)
|
|
13
14
|
- [Public API Overview](#public-api-overview)
|
|
14
15
|
- [Related Packages](#related-packages)
|
|
15
16
|
- [Example Sources](#example-sources)
|
|
@@ -66,12 +67,30 @@ The adapter supports Deno's native `Deno.upgradeWebSocket` through the `@fluojs/
|
|
|
66
67
|
export class MyGateway {}
|
|
67
68
|
```
|
|
68
69
|
|
|
70
|
+
## HTTPS and Runtime Portability
|
|
71
|
+
|
|
72
|
+
Pass Deno TLS certificate material through the `https` option to start `Deno.serve` in HTTPS mode. The adapter forwards `https.cert` and `https.key` to Deno as `cert` and `key`, and startup logging reports an `https://` listen URL so the Deno package stays aligned with the shared HTTP adapter portability contract.
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
await runDenoApplication(AppModule, {
|
|
76
|
+
hostname: '127.0.0.1',
|
|
77
|
+
https: {
|
|
78
|
+
cert: await Deno.readTextFile('./cert.pem'),
|
|
79
|
+
key: await Deno.readTextFile('./key.pem'),
|
|
80
|
+
},
|
|
81
|
+
port: 3443,
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`hostname` remains the Deno-native option name. The adapter also accepts `host` as a portability alias for shared HTTP adapter tests and cross-runtime configuration helpers; when both are provided, `hostname` wins.
|
|
86
|
+
|
|
69
87
|
## Public API Overview
|
|
70
88
|
|
|
71
89
|
- `createDenoAdapter(options)`: Factory for the Deno HTTP adapter.
|
|
72
90
|
- `bootstrapDenoApplication(module, options)`: Advanced bootstrap for custom orchestration.
|
|
73
91
|
- `runDenoApplication(module, options)`: Recommended quick-start helper for Deno.
|
|
74
92
|
- `handle(request)`: Manual `Request` to `Response` dispatcher.
|
|
93
|
+
- `https: { cert, key }`: HTTPS startup options forwarded to `Deno.serve` and reflected in the reported listen URL.
|
|
75
94
|
|
|
76
95
|
## Related Packages
|
|
77
96
|
|
package/dist/adapter.d.ts
CHANGED
|
@@ -8,7 +8,9 @@ export interface DenoServeOnListenInfo {
|
|
|
8
8
|
}
|
|
9
9
|
/** Options forwarded to the Deno-native `serve(...)` implementation. */
|
|
10
10
|
export interface DenoServeOptions {
|
|
11
|
+
cert?: string;
|
|
11
12
|
hostname?: string;
|
|
13
|
+
key?: string;
|
|
12
14
|
onListen?: (localAddr: DenoServeOnListenInfo) => void;
|
|
13
15
|
port?: number;
|
|
14
16
|
signal?: AbortSignal;
|
|
@@ -55,9 +57,16 @@ type DenoGlobalLike = {
|
|
|
55
57
|
serve: DenoServeFunction;
|
|
56
58
|
upgradeWebSocket: DenoUpgradeWebSocketFunction;
|
|
57
59
|
};
|
|
60
|
+
/** TLS certificate and private key material forwarded to Deno.serve for HTTPS startup. */
|
|
61
|
+
export interface DenoAdapterHttpsOptions {
|
|
62
|
+
cert: string;
|
|
63
|
+
key: string;
|
|
64
|
+
}
|
|
58
65
|
/** Transport and parsing options for the Deno HTTP adapter factory. */
|
|
59
66
|
export interface DenoAdapterOptions {
|
|
67
|
+
host?: string;
|
|
60
68
|
hostname?: string;
|
|
69
|
+
https?: DenoAdapterHttpsOptions;
|
|
61
70
|
maxBodySize?: number;
|
|
62
71
|
multipart?: MultipartOptions;
|
|
63
72
|
onListen?: (localAddr: DenoServeOnListenInfo) => void;
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter.js
CHANGED
|
@@ -28,6 +28,8 @@ import { dispatchWebRequest } from '@fluojs/runtime/web';
|
|
|
28
28
|
|
|
29
29
|
/** Function signature for a pluggable Deno serve implementation. */
|
|
30
30
|
|
|
31
|
+
/** TLS certificate and private key material forwarded to Deno.serve for HTTPS startup. */
|
|
32
|
+
|
|
31
33
|
/** Transport and parsing options for the Deno HTTP adapter factory. */
|
|
32
34
|
|
|
33
35
|
/** Bootstrap options for creating a Deno-backed app without auto-running it. */
|
|
@@ -55,7 +57,7 @@ export class DenoHttpApplicationAdapter {
|
|
|
55
57
|
return this.server;
|
|
56
58
|
}
|
|
57
59
|
getListenTarget() {
|
|
58
|
-
return createListenTarget(this.options.hostname, this.options.port);
|
|
60
|
+
return createListenTarget(this.options.hostname, this.options.port, this.options.https !== undefined);
|
|
59
61
|
}
|
|
60
62
|
getRealtimeCapability() {
|
|
61
63
|
return createFetchStyleHttpAdapterRealtimeCapability('Deno exposes Deno.upgradeWebSocket(request) request-upgrade hosting. Use @fluojs/websockets/deno for the official raw websocket binding.', {
|
|
@@ -101,7 +103,9 @@ export class DenoHttpApplicationAdapter {
|
|
|
101
103
|
const serve = resolveServe(this.options.serve);
|
|
102
104
|
this.abortController = abortController;
|
|
103
105
|
this.server = serve({
|
|
106
|
+
cert: this.options.https?.cert,
|
|
104
107
|
hostname: this.options.hostname,
|
|
108
|
+
key: this.options.https?.key,
|
|
105
109
|
onListen: this.options.onListen,
|
|
106
110
|
port: this.options.port,
|
|
107
111
|
signal: abortController.signal
|
|
@@ -169,7 +173,7 @@ export class DenoHttpApplicationAdapter {
|
|
|
169
173
|
export function createDenoAdapter(options = {}) {
|
|
170
174
|
return new DenoHttpApplicationAdapter({
|
|
171
175
|
...options,
|
|
172
|
-
hostname: options.hostname ?? DEFAULT_HOSTNAME,
|
|
176
|
+
hostname: options.hostname ?? options.host ?? DEFAULT_HOSTNAME,
|
|
173
177
|
port: options.port ?? DEFAULT_PORT
|
|
174
178
|
});
|
|
175
179
|
}
|
|
@@ -231,13 +235,14 @@ function createDenoShutdownSignalRegistration(signals) {
|
|
|
231
235
|
};
|
|
232
236
|
};
|
|
233
237
|
}
|
|
234
|
-
function createListenTarget(hostname, port) {
|
|
238
|
+
function createListenTarget(hostname, port, usesHttps) {
|
|
235
239
|
const isWildcard = hostname === '0.0.0.0' || hostname === '::';
|
|
236
240
|
const bindTarget = `${formatHostForAuthority(hostname)}:${String(port)}`;
|
|
237
241
|
const publicHostname = isWildcard ? 'localhost' : formatHostForAuthority(hostname);
|
|
242
|
+
const scheme = usesHttps ? 'https' : 'http';
|
|
238
243
|
return {
|
|
239
244
|
bindTarget,
|
|
240
|
-
url:
|
|
245
|
+
url: `${scheme}://${publicHostname}:${String(port)}`
|
|
241
246
|
};
|
|
242
247
|
}
|
|
243
248
|
function formatHostForAuthority(hostname) {
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"platform",
|
|
9
9
|
"server"
|
|
10
10
|
],
|
|
11
|
-
"version": "1.0.0-beta.
|
|
11
|
+
"version": "1.0.0-beta.2",
|
|
12
12
|
"private": false,
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"repository": {
|
|
@@ -33,10 +33,11 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@fluojs/http": "^1.0.0-beta.1",
|
|
36
|
-
"@fluojs/runtime": "^1.0.0-beta.
|
|
36
|
+
"@fluojs/runtime": "^1.0.0-beta.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"vitest": "^3.2.4"
|
|
39
|
+
"vitest": "^3.2.4",
|
|
40
|
+
"@fluojs/testing": "^1.0.0-beta.2"
|
|
40
41
|
},
|
|
41
42
|
"scripts": {
|
|
42
43
|
"prebuild": "node ../../tooling/scripts/clean-dist.mjs",
|