Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
a61546ac
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a61546ac
编写于
8月 16, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
extension gallery service uses IRequestService2
moves proxy business away from each consumer
上级
a672eeb4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
52 addition
and
37 deletion
+52
-37
src/vs/code/node/cliProcessMain.ts
src/vs/code/node/cliProcessMain.ts
+3
-1
src/vs/code/node/sharedProcessMain.ts
src/vs/code/node/sharedProcessMain.ts
+3
-0
src/vs/platform/extensionManagement/node/extensionGalleryService.ts
...tform/extensionManagement/node/extensionGalleryService.ts
+41
-35
src/vs/workbench/electron-browser/shell.ts
src/vs/workbench/electron-browser/shell.ts
+5
-1
未找到文件。
src/vs/code/node/cliProcessMain.ts
浏览文件 @
a61546ac
...
@@ -25,8 +25,9 @@ import { ExtensionGalleryService } from 'vs/platform/extensionManagement/node/ex
...
@@ -25,8 +25,9 @@ import { ExtensionGalleryService } from 'vs/platform/extensionManagement/node/ex
import
{
ITelemetryService
,
combinedAppender
,
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
,
combinedAppender
,
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
TelemetryService
,
ITelemetryServiceConfig
}
from
'
vs/platform/telemetry/common/telemetryService
'
;
import
{
TelemetryService
,
ITelemetryServiceConfig
}
from
'
vs/platform/telemetry/common/telemetryService
'
;
import
{
resolveCommonProperties
}
from
'
vs/platform/telemetry/node/commonProperties
'
;
import
{
resolveCommonProperties
}
from
'
vs/platform/telemetry/node/commonProperties
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
IRequestService
,
IRequestService2
}
from
'
vs/platform/request/common/request
'
;
import
{
NodeRequestService
}
from
'
vs/platform/request/node/nodeRequestService
'
;
import
{
NodeRequestService
}
from
'
vs/platform/request/node/nodeRequestService
'
;
import
{
RequestService2
}
from
'
vs/platform/request/node/requestService2
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
NodeConfigurationService
}
from
'
vs/platform/configuration/node/nodeConfigurationService
'
;
import
{
NodeConfigurationService
}
from
'
vs/platform/configuration/node/nodeConfigurationService
'
;
import
{
AppInsightsAppender
}
from
'
vs/platform/telemetry/node/appInsightsAppender
'
;
import
{
AppInsightsAppender
}
from
'
vs/platform/telemetry/node/appInsightsAppender
'
;
...
@@ -158,6 +159,7 @@ export function main(argv: ParsedArgs): TPromise<void> {
...
@@ -158,6 +159,7 @@ export function main(argv: ParsedArgs): TPromise<void> {
services
.
set
(
IEventService
,
new
SyncDescriptor
(
EventService
));
services
.
set
(
IEventService
,
new
SyncDescriptor
(
EventService
));
services
.
set
(
IConfigurationService
,
new
SyncDescriptor
(
NodeConfigurationService
));
services
.
set
(
IConfigurationService
,
new
SyncDescriptor
(
NodeConfigurationService
));
services
.
set
(
IRequestService
,
new
SyncDescriptor
(
NodeRequestService
));
services
.
set
(
IRequestService
,
new
SyncDescriptor
(
NodeRequestService
));
services
.
set
(
IRequestService2
,
new
SyncDescriptor
(
RequestService2
));
services
.
set
(
IExtensionManagementService
,
new
SyncDescriptor
(
ExtensionManagementService
));
services
.
set
(
IExtensionManagementService
,
new
SyncDescriptor
(
ExtensionManagementService
));
services
.
set
(
IExtensionGalleryService
,
new
SyncDescriptor
(
ExtensionGalleryService
));
services
.
set
(
IExtensionGalleryService
,
new
SyncDescriptor
(
ExtensionGalleryService
));
...
...
src/vs/code/node/sharedProcessMain.ts
浏览文件 @
a61546ac
...
@@ -22,6 +22,8 @@ import { ExtensionManagementService } from 'vs/platform/extensionManagement/node
...
@@ -22,6 +22,8 @@ import { ExtensionManagementService } from 'vs/platform/extensionManagement/node
import
{
ExtensionGalleryService
}
from
'
vs/platform/extensionManagement/node/extensionGalleryService
'
;
import
{
ExtensionGalleryService
}
from
'
vs/platform/extensionManagement/node/extensionGalleryService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
NodeConfigurationService
}
from
'
vs/platform/configuration/node/nodeConfigurationService
'
;
import
{
NodeConfigurationService
}
from
'
vs/platform/configuration/node/nodeConfigurationService
'
;
import
{
IRequestService2
}
from
'
vs/platform/request/common/request
'
;
import
{
RequestService2
}
from
'
vs/platform/request/node/requestService2
'
;
import
{
ITelemetryService
,
combinedAppender
,
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
,
combinedAppender
,
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
resolveCommonProperties
}
from
'
vs/platform/telemetry/node/commonProperties
'
;
import
{
resolveCommonProperties
}
from
'
vs/platform/telemetry/node/commonProperties
'
;
import
{
TelemetryAppenderChannel
}
from
'
vs/platform/telemetry/common/telemetryIpc
'
;
import
{
TelemetryAppenderChannel
}
from
'
vs/platform/telemetry/common/telemetryIpc
'
;
...
@@ -57,6 +59,7 @@ function main(server: Server): void {
...
@@ -57,6 +59,7 @@ function main(server: Server): void {
services
.
set
(
IEventService
,
new
SyncDescriptor
(
EventService
));
services
.
set
(
IEventService
,
new
SyncDescriptor
(
EventService
));
services
.
set
(
IEnvironmentService
,
new
SyncDescriptor
(
EnvironmentService
));
services
.
set
(
IEnvironmentService
,
new
SyncDescriptor
(
EnvironmentService
));
services
.
set
(
IConfigurationService
,
new
SyncDescriptor
(
NodeConfigurationService
));
services
.
set
(
IConfigurationService
,
new
SyncDescriptor
(
NodeConfigurationService
));
services
.
set
(
IRequestService2
,
new
SyncDescriptor
(
RequestService2
));
const
instantiationService
=
new
InstantiationService
(
services
);
const
instantiationService
=
new
InstantiationService
(
services
);
...
...
src/vs/platform/extensionManagement/node/extensionGalleryService.ts
浏览文件 @
a61546ac
...
@@ -10,11 +10,10 @@ import { TPromise } from 'vs/base/common/winjs.base';
...
@@ -10,11 +10,10 @@ import { TPromise } from 'vs/base/common/winjs.base';
import
{
IGalleryExtension
,
IExtensionGalleryService
,
IQueryOptions
,
SortBy
,
SortOrder
,
IExtensionManifest
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IGalleryExtension
,
IExtensionGalleryService
,
IQueryOptions
,
SortBy
,
SortOrder
,
IExtensionManifest
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
isUndefined
}
from
'
vs/base/common/types
'
;
import
{
isUndefined
}
from
'
vs/base/common/types
'
;
import
{
assign
,
getOrDefault
}
from
'
vs/base/common/objects
'
;
import
{
assign
,
getOrDefault
}
from
'
vs/base/common/objects
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
IRequestService
2
}
from
'
vs/platform/request/common/request
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IPager
}
from
'
vs/base/common/paging
'
;
import
{
IPager
}
from
'
vs/base/common/paging
'
;
import
{
request
,
download
,
json
,
IRequestOptions
}
from
'
vs/base/node/request
'
;
import
{
download
,
json
}
from
'
vs/base/node/request
'
;
import
{
getProxyAgent
}
from
'
vs/base/node/proxy
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
pkg
from
'
vs/platform/package
'
;
import
pkg
from
'
vs/platform/package
'
;
import
product
from
'
vs/platform/product
'
;
import
product
from
'
vs/platform/product
'
;
...
@@ -32,6 +31,11 @@ interface IRawGalleryExtensionVersion {
...
@@ -32,6 +31,11 @@ interface IRawGalleryExtensionVersion {
files
:
IRawGalleryExtensionFile
[];
files
:
IRawGalleryExtensionFile
[];
}
}
interface
IRawGalleryExtensionStatistics
{
statisticName
:
string
;
value
:
number
;
}
interface
IRawGalleryExtension
{
interface
IRawGalleryExtension
{
extensionId
:
string
;
extensionId
:
string
;
extensionName
:
string
;
extensionName
:
string
;
...
@@ -42,9 +46,17 @@ interface IRawGalleryExtension {
...
@@ -42,9 +46,17 @@ interface IRawGalleryExtension {
statistics
:
IRawGalleryExtensionStatistics
[];
statistics
:
IRawGalleryExtensionStatistics
[];
}
}
interface
IRawGalleryExtensionStatistics
{
interface
IRawGalleryQueryResult
{
statisticName
:
string
;
results
:
{
value
:
number
;
extensions
:
IRawGalleryExtension
[];
resultMetadata
:
{
metadataType
:
string
;
metadataItems
:
{
name
:
string
;
count
:
number
;
}[];
}[]
}[];
}
}
enum
Flags
{
enum
Flags
{
...
@@ -215,7 +227,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
...
@@ -215,7 +227,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
}
}
constructor
(
constructor
(
@
IRequestService
private
requestService
:
IRequestService
,
@
IRequestService
2
private
requestService
:
IRequestService2
,
@
ITelemetryService
private
telemetryService
:
ITelemetryService
,
@
ITelemetryService
private
telemetryService
:
ITelemetryService
,
@
IConfigurationService
private
configurationService
:
IConfigurationService
@
IConfigurationService
private
configurationService
:
IConfigurationService
)
{
)
{
...
@@ -279,19 +291,25 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
...
@@ -279,19 +291,25 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
}
}
private
queryGallery
(
query
:
Query
):
TPromise
<
{
galleryExtensions
:
IRawGalleryExtension
[],
total
:
number
;
}
>
{
private
queryGallery
(
query
:
Query
):
TPromise
<
{
galleryExtensions
:
IRawGalleryExtension
[],
total
:
number
;
}
>
{
const
data
=
JSON
.
stringify
(
query
.
raw
);
const
opts
=
this
.
request
(
this
.
api
(
'
/extensionquery
'
));
return
this
.
getCommonHeaders
()
return
this
.
getCommonHeaders
()
.
then
(
headers
=>
assign
(
headers
,
{
.
then
(
headers
=>
{
'
Content-Type
'
:
'
application/json
'
,
const
data
=
JSON
.
stringify
(
query
.
raw
);
'
Accept
'
:
'
application/json;api-version=3.0-preview.1
'
,
'
Accept-Encoding
'
:
'
gzip
'
,
headers
=
assign
(
headers
,
{
'
Content-Length
'
:
data
.
length
'
Content-Type
'
:
'
application/json
'
,
}))
'
Accept
'
:
'
application/json;api-version=3.0-preview.1
'
,
.
then
(
headers
=>
assign
(
opts
,
{
type
:
'
POST
'
,
data
,
headers
}))
'
Accept-Encoding
'
:
'
gzip
'
,
.
then
(()
=>
request
(
opts
))
'
Content-Length
'
:
data
.
length
.
then
(
context
=>
json
<
any
>
(
context
))
});
return
this
.
requestService
.
request
({
type
:
'
POST
'
,
url
:
this
.
api
(
'
/extensionquery
'
),
data
,
headers
});
})
.
then
(
context
=>
json
<
IRawGalleryQueryResult
>
(
context
))
.
then
(
result
=>
{
.
then
(
result
=>
{
const
r
=
result
.
results
[
0
];
const
r
=
result
.
results
[
0
];
const
galleryExtensions
=
r
.
extensions
;
const
galleryExtensions
=
r
.
extensions
;
...
@@ -320,11 +338,9 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
...
@@ -320,11 +338,9 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
return
this
.
getLastValidExtensionVersion
(
rawExtension
,
rawExtension
.
versions
).
then
(
rawVersion
=>
{
return
this
.
getLastValidExtensionVersion
(
rawExtension
,
rawExtension
.
versions
).
then
(
rawVersion
=>
{
const
url
=
`
${
getAssetSource
(
rawVersion
.
files
,
AssetType
.
VSIX
)
}
?install=true`
;
const
url
=
`
${
getAssetSource
(
rawVersion
.
files
,
AssetType
.
VSIX
)
}
?install=true`
;
const
zipPath
=
path
.
join
(
tmpdir
(),
extension
.
id
);
const
zipPath
=
path
.
join
(
tmpdir
(),
extension
.
id
);
const
opts
=
this
.
request
(
url
);
return
this
.
getCommonHeaders
()
return
this
.
getCommonHeaders
()
.
then
(
headers
=>
assign
(
opts
,
{
headers
}))
.
then
(
headers
=>
this
.
requestService
.
request
({
url
,
headers
}))
.
then
(()
=>
request
(
opts
))
.
then
(
context
=>
download
(
zipPath
,
context
))
.
then
(
context
=>
download
(
zipPath
,
context
))
.
then
(()
=>
zipPath
);
.
then
(()
=>
zipPath
);
});
});
...
@@ -338,9 +354,10 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
...
@@ -338,9 +354,10 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
const
version
=
versions
[
0
];
const
version
=
versions
[
0
];
const
url
=
getAssetSource
(
version
.
files
,
AssetType
.
Manifest
);
const
url
=
getAssetSource
(
version
.
files
,
AssetType
.
Manifest
);
const
opts
=
assign
(
this
.
request
(
url
),
{
headers
:
{
'
accept-encoding
'
:
'
gzip
'
}
});
return
request
(
opts
)
return
this
.
getCommonHeaders
()
.
then
(
headers
=>
assign
(
headers
,
{
'
accept-encoding
'
:
'
gzip
'
}))
.
then
(
headers
=>
this
.
requestService
.
request
({
url
,
headers
}))
.
then
(
context
=>
json
<
IExtensionManifest
>
(
context
))
.
then
(
context
=>
json
<
IExtensionManifest
>
(
context
))
.
then
(
manifest
=>
{
.
then
(
manifest
=>
{
const
desc
=
{
const
desc
=
{
...
@@ -356,15 +373,4 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
...
@@ -356,15 +373,4 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
return
version
;
return
version
;
});
});
}
}
// Helper for proxy business... shameful.
// This should be pushed down and not rely on the context service
private
request
(
url
:
string
):
IRequestOptions
{
const
httpConfig
=
this
.
configurationService
.
getConfiguration
<
any
>
(
'
http
'
)
||
{};
const
proxyUrl
=
httpConfig
.
proxy
as
string
;
const
strictSSL
=
httpConfig
.
proxyStrictSSL
as
boolean
;
const
agent
=
getProxyAgent
(
url
,
{
proxyUrl
,
strictSSL
});
return
{
url
,
agent
,
strictSSL
};
}
}
}
\ No newline at end of file
src/vs/workbench/electron-browser/shell.ts
浏览文件 @
a61546ac
...
@@ -30,7 +30,9 @@ import {Update} from 'vs/workbench/electron-browser/update';
...
@@ -30,7 +30,9 @@ import {Update} from 'vs/workbench/electron-browser/update';
import
{
WorkspaceStats
}
from
'
vs/workbench/services/telemetry/common/workspaceStats
'
;
import
{
WorkspaceStats
}
from
'
vs/workbench/services/telemetry/common/workspaceStats
'
;
import
{
IWindowService
,
WindowService
}
from
'
vs/workbench/services/window/electron-browser/windowService
'
;
import
{
IWindowService
,
WindowService
}
from
'
vs/workbench/services/window/electron-browser/windowService
'
;
import
{
MessageService
}
from
'
vs/workbench/services/message/electron-browser/messageService
'
;
import
{
MessageService
}
from
'
vs/workbench/services/message/electron-browser/messageService
'
;
import
{
IRequestService
,
IRequestService2
}
from
'
vs/platform/request/common/request
'
;
import
{
RequestService
}
from
'
vs/workbench/services/request/node/requestService
'
;
import
{
RequestService
}
from
'
vs/workbench/services/request/node/requestService
'
;
import
{
RequestService2
}
from
'
vs/platform/request/node/requestService2
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
FileService
}
from
'
vs/workbench/services/files/electron-browser/fileService
'
;
import
{
FileService
}
from
'
vs/workbench/services/files/electron-browser/fileService
'
;
import
{
SearchService
}
from
'
vs/workbench/services/search/node/searchService
'
;
import
{
SearchService
}
from
'
vs/workbench/services/search/node/searchService
'
;
...
@@ -57,7 +59,6 @@ import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
...
@@ -57,7 +59,6 @@ import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
import
{
IMarkerService
}
from
'
vs/platform/markers/common/markers
'
;
import
{
IMarkerService
}
from
'
vs/platform/markers/common/markers
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
IMessageService
,
Severity
}
from
'
vs/platform/message/common/message
'
;
import
{
IMessageService
,
Severity
}
from
'
vs/platform/message/common/message
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
ISearchService
}
from
'
vs/platform/search/common/search
'
;
import
{
ISearchService
}
from
'
vs/platform/search/common/search
'
;
import
{
IThreadService
}
from
'
vs/workbench/services/thread/common/threadService
'
;
import
{
IThreadService
}
from
'
vs/workbench/services/thread/common/threadService
'
;
import
{
ICommandService
}
from
'
vs/platform/commands/common/commands
'
;
import
{
ICommandService
}
from
'
vs/platform/commands/common/commands
'
;
...
@@ -296,6 +297,9 @@ export class WorkbenchShell {
...
@@ -296,6 +297,9 @@ export class WorkbenchShell {
const
requestService
=
disposables
.
add
(
instantiationService
.
createInstance
(
RequestService
));
const
requestService
=
disposables
.
add
(
instantiationService
.
createInstance
(
RequestService
));
serviceCollection
.
set
(
IRequestService
,
requestService
);
serviceCollection
.
set
(
IRequestService
,
requestService
);
const
requestService2
=
instantiationService
.
createInstance
(
RequestService2
);
serviceCollection
.
set
(
IRequestService2
,
requestService2
);
const
markerService
=
instantiationService
.
createInstance
(
MarkerService
);
const
markerService
=
instantiationService
.
createInstance
(
MarkerService
);
serviceCollection
.
set
(
IMarkerService
,
markerService
);
serviceCollection
.
set
(
IMarkerService
,
markerService
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录