Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
87f5b412
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
87f5b412
编写于
11月 16, 2017
作者:
P
Péter Szilágyi
提交者:
GitHub
11月 16, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #15496 from karalabe/rpc-get-healthcheck
rpc: allow dumb empty requests for AWS health checks
上级
5aa3eac2
4013e233
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
7 deletion
+10
-7
rpc/http.go
rpc/http.go
+10
-7
未找到文件。
rpc/http.go
浏览文件 @
87f5b412
...
...
@@ -146,13 +146,17 @@ func NewHTTPServer(cors []string, srv *Server) *http.Server {
// ServeHTTP serves JSON-RPC requests over HTTP.
func
(
srv
*
Server
)
ServeHTTP
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
// Permit dumb empty requests for remote health-checks (AWS)
if
r
.
Method
==
"GET"
&&
r
.
ContentLength
==
0
&&
r
.
URL
.
RawQuery
==
""
{
return
}
// For meaningful requests, validate it's size and content type
if
r
.
ContentLength
>
maxHTTPRequestContentLength
{
http
.
Error
(
w
,
fmt
.
Sprintf
(
"content length too large (%d>%d)"
,
r
.
ContentLength
,
maxHTTPRequestContentLength
),
http
.
StatusRequestEntityTooLarge
)
return
}
ct
:=
r
.
Header
.
Get
(
"content-type"
)
mt
,
_
,
err
:=
mime
.
ParseMediaType
(
ct
)
if
err
!=
nil
||
mt
!=
"application/json"
{
...
...
@@ -161,14 +165,13 @@ func (srv *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
http
.
StatusUnsupportedMediaType
)
return
}
w
.
Header
()
.
Set
(
"content-type"
,
"application/json"
)
// create a codec that reads direct from the request body until
// EOF and writes the response to w and order the server to process
// a single request.
// All checks passed, create a codec that reads direct from the request body
// untilEOF and writes the response to w and order the server to process a
// single request.
codec
:=
NewJSONCodec
(
&
httpReadWriteNopCloser
{
r
.
Body
,
w
})
defer
codec
.
Close
()
w
.
Header
()
.
Set
(
"content-type"
,
"application/json"
)
srv
.
ServeSingleRequest
(
codec
,
OptionMethodInvocation
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录