Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Eolink
goku-api-gateway
提交
44f9d303
G
goku-api-gateway
项目概览
Eolink
/
goku-api-gateway
上一次同步 1 年多
通知
133
Star
2992
Fork
611
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
goku-api-gateway
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
44f9d303
编写于
1月 19, 2021
作者:
E
Eolink
提交者:
GitHub
1月 19, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #78 from Dot-Liu/master
严格类型检查
上级
de7784e2
a9018283
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
1 deletion
+19
-1
node/gateway/application/backend/layer.go
node/gateway/application/backend/layer.go
+9
-1
node/gateway/application/interpreter/reader.go
node/gateway/application/interpreter/reader.go
+10
-0
未找到文件。
node/gateway/application/backend/layer.go
浏览文件 @
44f9d303
...
...
@@ -44,7 +44,15 @@ func (b *Layer) Send(deadline context.Context, ctx *common.Context, variables *i
if
method
==
"FOLLOW"
{
method
=
ctx
.
ProxyRequest
.
Method
}
r
,
finalTargetServer
,
retryTargetServers
,
err
:=
b
.
Balance
.
Send
(
ctx
,
b
.
Protocol
,
method
,
path
,
ctx
.
ProxyRequest
.
Querys
(),
ctx
.
ProxyRequest
.
Headers
(),
[]
byte
(
body
),
b
.
TimeOut
,
b
.
Retry
)
header
:=
ctx
.
ProxyRequest
.
Headers
()
if
b
.
Encode
==
"json"
{
header
.
Set
(
"content-type"
,
"application/json; charset=utf-8"
)
}
else
if
b
.
Encode
==
"xml"
{
header
.
Set
(
"content-type"
,
"application/xml; charset=utf-8"
)
}
r
,
finalTargetServer
,
retryTargetServers
,
err
:=
b
.
Balance
.
Send
(
ctx
,
b
.
Protocol
,
method
,
path
,
nil
,
header
,
[]
byte
(
body
),
b
.
TimeOut
,
b
.
Retry
)
if
err
!=
nil
{
return
nil
,
err
...
...
node/gateway/application/interpreter/reader.go
浏览文件 @
44f9d303
...
...
@@ -4,6 +4,7 @@ import (
"fmt"
"net/url"
"reflect"
"strconv"
)
//Reader reder
...
...
@@ -72,6 +73,15 @@ func find(node *reflect.Value, path []string) string {
next
:=
node
.
MapIndex
(
key
)
return
find
(
&
next
,
path
[
1
:
])
}
case
reflect
.
Slice
:
{
index
,
err
:=
strconv
.
Atoi
(
path
[
0
])
if
err
!=
nil
{
return
""
}
next
:=
node
.
Index
(
index
)
return
find
(
&
next
,
path
[
1
:
])
}
default
:
return
""
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录