Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
0427d1ef
提交
0427d1ef
authored
8月 06, 2014
作者:
verokarhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
beginnings of an http gateway/api
上级
c7af4a6f
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
62 行增加
和
0 行删除
+62
-0
ipfs.go
cmd/ipfs/ipfs.go
+2
-0
serve.go
cmd/ipfs/serve.go
+24
-0
http.go
http/http.go
+36
-0
没有找到文件。
cmd/ipfs/ipfs.go
浏览文件 @
0427d1ef
...
...
@@ -35,6 +35,7 @@ Tool commands:
Advanced Commands:
mount Mount an ipfs read-only mountpoint.
serve Serve an http gateway into ipfs.
Use "ipfs help <command>" for more information about a command.
`
,
...
...
@@ -49,6 +50,7 @@ Use "ipfs help <command>" for more information about a command.
cmdIpfsCommands
,
cmdIpfsMount
,
cmdIpfsInit
,
cmdIpfsServe
,
},
Flag
:
*
flag
.
NewFlagSet
(
"ipfs"
,
flag
.
ExitOnError
),
}
...
...
cmd/ipfs/serve.go
0 → 100644
浏览文件 @
0427d1ef
package
main
import
(
"github.com/gonuts/flag"
"github.com/jbenet/commander"
h
"github.com/jbenet/go-ipfs/http"
)
var
cmdIpfsServe
=
&
commander
.
Command
{
UsageLine
:
"serve"
,
Short
:
"Serve an HTTP API"
,
Long
:
`ipfs serve - Serve an http gateway into ipfs.`
,
Run
:
serveCmd
,
Flag
:
*
flag
.
NewFlagSet
(
"ipfs-serve"
,
flag
.
ExitOnError
),
}
func
serveCmd
(
c
*
commander
.
Command
,
_
[]
string
)
error
{
n
,
err
:=
localNode
()
if
err
!=
nil
{
return
err
}
return
h
.
Serve
(
"127.0.0.1"
,
80
,
n
)
}
http/http.go
0 → 100644
浏览文件 @
0427d1ef
package
http
import
(
"fmt"
"github.com/gorilla/mux"
core
"github.com/jbenet/go-ipfs/core"
"net/http"
"strconv"
)
type
ipfsHandler
struct
{
node
*
core
.
IpfsNode
}
func
(
i
*
ipfsHandler
)
ServeHTTP
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
path
:=
r
.
URL
.
Path
nd
,
err
:=
i
.
node
.
Resolver
.
ResolvePath
(
path
)
if
err
!=
nil
{
w
.
WriteHeader
(
http
.
StatusInternalServerError
)
return
}
fmt
.
Fprintf
(
w
,
"%s"
,
nd
.
Data
)
}
func
Serve
(
host
string
,
port
uint16
,
node
*
core
.
IpfsNode
)
error
{
r
:=
mux
.
NewRouter
()
r
.
PathPrefix
(
"/"
)
.
Handler
(
&
ipfsHandler
{
node
})
.
Methods
(
"GET"
)
http
.
Handle
(
"/"
,
r
)
address
:=
host
+
":"
+
strconv
.
FormatUint
(
uint64
(
port
),
10
)
fmt
.
Printf
(
"Serving on %s
\n
"
,
address
)
return
http
.
ListenAndServe
(
address
,
nil
)
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论