Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
a6eb3961
提交
a6eb3961
authored
1月 22, 2015
作者:
Brian Tiger Chow
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use --http flag to run expose IPFS HTTP API
上级
038ec6a5
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
41 行增加
和
9 行删除
+41
-9
main.go
cmd/ipfswatch/main.go
+41
-9
没有找到文件。
cmd/ipfswatch/main.go
浏览文件 @
a6eb3961
...
...
@@ -6,17 +6,19 @@ import (
"os"
"path/filepath"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
)
import
(
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/mitchellh/go-homedir"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/gopkg.in/fsnotify.v1"
"github.com/jbenet/go-ipfs/core"
"github.com/jbenet/go-ipfs/core/coreunix"
"github.com/jbenet/go-ipfs/repo/config"
"github.com/jbenet/go-ipfs/repo/fsrepo"
context
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
ma
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
homedir
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/mitchellh/go-homedir"
fsnotify
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/gopkg.in/fsnotify.v1"
commands
"github.com/jbenet/go-ipfs/commands"
core
"github.com/jbenet/go-ipfs/core"
corehttp
"github.com/jbenet/go-ipfs/core/corehttp"
coreunix
"github.com/jbenet/go-ipfs/core/coreunix"
config
"github.com/jbenet/go-ipfs/repo/config"
fsrepo
"github.com/jbenet/go-ipfs/repo/fsrepo"
)
var
http
=
flag
.
Bool
(
"http"
,
false
,
"expose IPFS HTTP API"
)
var
repoPath
=
flag
.
String
(
"repo"
,
os
.
Getenv
(
"IPFS_PATH"
),
"IPFS_PATH to use"
)
var
watchPath
=
flag
.
String
(
"path"
,
"."
,
"the path to watch"
)
...
...
@@ -66,6 +68,21 @@ func run(ipfsPath, watchPath string) error {
}
defer
node
.
Close
()
if
*
http
{
maddr
,
err
:=
ma
.
NewMultiaddr
(
"/ip4/127.0.0.1/tcp/5001"
)
if
err
!=
nil
{
return
err
}
var
opts
=
[]
corehttp
.
ServeOption
{
corehttp
.
GatewayOption
,
corehttp
.
WebUIOption
,
corehttp
.
CommandsOption
(
cmdCtx
(
node
,
ipfsPath
)),
}
if
err
:=
corehttp
.
ListenAndServe
(
node
,
maddr
,
opts
...
);
err
!=
nil
{
return
nil
}
}
for
{
select
{
case
e
:=
<-
watcher
.
Events
:
...
...
@@ -152,3 +169,18 @@ func IsHidden(path string) bool {
}
return
false
}
func
cmdCtx
(
node
*
core
.
IpfsNode
,
repoPath
string
)
commands
.
Context
{
return
commands
.
Context
{
// TODO deprecate this shit
Context
:
context
.
Background
(),
Online
:
true
,
ConfigRoot
:
repoPath
,
LoadConfig
:
func
(
path
string
)
(
*
config
.
Config
,
error
)
{
return
node
.
Repo
.
Config
(),
nil
},
ConstructNode
:
func
()
(
*
core
.
IpfsNode
,
error
)
{
return
node
,
nil
},
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论