Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gzupanda
code-server
提交
f706039a
C
code-server
项目概览
gzupanda
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
f706039a
编写于
11月 10, 2020
作者:
A
Asher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Re-add TLS socket proxy
上级
de494957
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
2 deletion
+7
-2
src/node/vscode.ts
src/node/vscode.ts
+7
-2
未找到文件。
src/node/vscode.ts
浏览文件 @
f706039a
...
...
@@ -6,6 +6,7 @@ import * as ipc from "../../lib/vscode/src/vs/server/ipc"
import
{
arrayify
,
generateUuid
}
from
"
../common/util
"
import
{
rootPath
}
from
"
./constants
"
import
{
settings
}
from
"
./settings
"
import
{
SocketProxyProvider
}
from
"
./socket
"
import
{
isFile
}
from
"
./util
"
import
{
ipcMain
}
from
"
./wrapper
"
...
...
@@ -14,6 +15,7 @@ export class VscodeProvider {
public
readonly
vsRootPath
:
string
private
_vscode
?:
Promise
<
cp
.
ChildProcess
>
private
timeoutInterval
=
10000
// 10s, matches VS Code's timeouts.
private
readonly
socketProvider
=
new
SocketProxyProvider
()
public
constructor
()
{
this
.
vsRootPath
=
path
.
resolve
(
rootPath
,
"
lib/vscode
"
)
...
...
@@ -22,6 +24,7 @@ export class VscodeProvider {
}
public
async
dispose
():
Promise
<
void
>
{
this
.
socketProvider
.
stop
()
if
(
this
.
_vscode
)
{
const
vscode
=
await
this
.
_vscode
vscode
.
removeAllListeners
()
...
...
@@ -152,9 +155,11 @@ export class VscodeProvider {
* VS Code expects a raw socket. It will handle all the web socket frames.
*/
public
async
sendWebsocket
(
socket
:
net
.
Socket
,
query
:
ipc
.
Query
):
Promise
<
void
>
{
// TODO: TLS socket proxy.
const
vscode
=
await
this
.
_vscode
this
.
send
({
type
:
"
socket
"
,
query
},
vscode
,
socket
)
// TLS sockets cannot be transferred to child processes so we need an
// in-between. Non-TLS sockets will be returned as-is.
const
socketProxy
=
await
this
.
socketProvider
.
createProxy
(
socket
)
this
.
send
({
type
:
"
socket
"
,
query
},
vscode
,
socketProxy
)
}
private
send
(
message
:
ipc
.
CodeServerMessage
,
vscode
?:
cp
.
ChildProcess
,
socket
?:
net
.
Socket
):
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录