Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tianyazhichiC
algorithm-visualizer
提交
31ee7ecf
A
algorithm-visualizer
项目概览
tianyazhichiC
/
algorithm-visualizer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
algorithm-visualizer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
31ee7ecf
编写于
7月 16, 2018
作者:
J
Jason Park
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Download traces lib
上级
dfec3da6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
4 deletion
+28
-4
src/backend/apis/index.js
src/backend/apis/index.js
+17
-1
src/backend/controllers/compilers.js
src/backend/controllers/compilers.js
+11
-0
src/backend/index.js
src/backend/index.js
+0
-3
未找到文件。
src/backend/apis/index.js
浏览文件 @
31ee7ecf
import
Promise
from
'
bluebird
'
;
import
axios
from
'
axios
'
;
import
fs
from
'
fs
'
;
import
{
githubClientId
,
githubClientSecret
}
from
'
/environment
'
;
axios
.
interceptors
.
request
.
use
(
request
=>
{
request
.
params
=
{
client_id
:
githubClientId
,
client_secret
:
githubClientSecret
,
...
request
.
params
};
return
request
;
});
axios
.
interceptors
.
response
.
use
(
response
=>
{
return
response
.
data
;
...
...
@@ -54,9 +61,18 @@ const PATCH = URL => {
};
const
GitHubApi
=
{
auth
:
(
client_id
,
client_secret
)
=>
axios
.
defaults
.
params
=
{
client_id
,
client_secret
},
listCommits
:
GET
(
'
/repos/:owner/:repo/commits
'
),
getAccessToken
:
code
=>
axios
.
post
(
'
https://github.com/login/oauth/access_token
'
,
{
code
},
{
headers
:
{
Accept
:
'
application/json
'
}
}),
getLatestRelease
:
GET
(
'
/repos/:owner/:repo/releases/latest
'
),
download
:
(
url
,
path
)
=>
axios
({
method
:
'
get
'
,
url
,
responseType
:
'
stream
'
,
}).
then
(
data
=>
new
Promise
((
resolve
,
reject
)
=>
{
data
.
pipe
(
fs
.
createWriteStream
(
path
));
data
.
on
(
'
end
'
,
resolve
);
data
.
on
(
'
error
'
,
reject
);
})),
};
export
{
...
...
src/backend/controllers/compilers.js
浏览文件 @
31ee7ecf
import
Promise
from
'
bluebird
'
;
import
express
from
'
express
'
;
import
path
from
'
path
'
;
import
{
GitHubApi
}
from
'
/apis
'
;
const
router
=
express
.
Router
();
const
getPath
=
(...
args
)
=>
path
.
resolve
(
__dirname
,
'
..
'
,
'
public
'
,
'
libs
'
,
...
args
);
const
downloadLibs
=
()
=>
{
GitHubApi
.
getLatestRelease
(
'
algorithm-visualizer
'
,
'
tracers
'
).
then
(
release
=>
{
return
Promise
.
each
(
release
.
assets
,
asset
=>
GitHubApi
.
download
(
asset
.
browser_download_url
,
getPath
(
asset
.
name
)));
});
};
downloadLibs
();
// TODO: download again when webhooked
const
getJsWorker
=
(
req
,
res
,
next
)
=>
{
res
.
sendFile
(
path
.
resolve
(
__dirname
,
'
..
'
,
'
tracers
'
,
'
languages
'
,
'
js
'
,
'
build
'
,
'
index.js
'
));
};
...
...
src/backend/index.js
浏览文件 @
31ee7ecf
...
...
@@ -4,10 +4,7 @@ import cookieParser from 'cookie-parser';
import
bodyParser
from
'
body-parser
'
;
import
*
as
controllers
from
'
/controllers
'
;
import
{
AuthorizationError
,
NotFoundError
,
PermissionError
}
from
'
/common/error
'
;
import
{
GitHubApi
}
from
'
/apis
'
;
import
{
githubClientId
,
githubClientSecret
}
from
'
/environment
'
;
GitHubApi
.
auth
(
githubClientId
,
githubClientSecret
);
const
app
=
express
();
app
.
use
(
morgan
(
'
tiny
'
));
app
.
use
(
cookieParser
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录