Skip to content

Commit

Permalink
fix bug can not recognize uri without port (#728)
Browse files Browse the repository at this point in the history
  • Loading branch information
tianxiaoliang committed Nov 18, 2019
1 parent 01c54c5 commit 7b9748e
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 6 deletions.
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ benchmark/server/server
benchmark/**/log
coverage.out
coverage.txt

core/lager*.copy
core/config/*.yaml
main
auth.yaml
auth.yaml
git rm examples/discovery/*/conf/*/schema/*.yaml
4 changes: 2 additions & 2 deletions README_cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Go-Chassis 是一个go语言的微服务开发框架,帮助你快速开发微

- go chassis被设计为通信协议中立的框架,你可以开发自定义的协议集成到go chassis, 并应用统一的治理能力,如负载均衡,熔断器,限流,流量控制,这些功能使你的服务变得具有韧性,并面向云原生。完全不需要再去自己集成各种方案,使用go chassis只需要通过配置文件来使用这些功能。

- go chassis 使用open tracing与promethues使调用链与指标可视化
- go chassis 使用open tracing与prometheus使调用链与指标可视化

- go chassis 灵活性高,许多组件可以自己定制,比如注册发现,指标上报,调用链追踪 ,分布式配置管理等

Expand All @@ -20,7 +20,7 @@ Go-Chassis 是一个go语言的微服务开发框架,帮助你快速开发微
- **限流**: 客户端,服务端均可限流
- **可插拔的加解密组件**: 加解密组件会被应用到mTLS等安全敏感的处理流程中,可自定义算法
- **Handler Chain**: 可以在处理请求的过程中定制特殊逻辑,比如认证鉴权。
- **Metrics**: 支持上报个promethues
- **Metrics**: 支持上报prometheus
- **调用链追踪**: 集成opentracing-go作为标准,当前支持zipkin
- **运行时热加载配置**: 集成轻量级配置管理框架go-archaius, 配置可以在运行时热加载,无需重启,比如负载均衡,断路器,流量管理等配置
- **原生支持动态配置框架**: 集成轻量级配置管理框架 go-archaius, 开发者可以实现拥有运行时配置热加载功能的应用
Expand Down
4 changes: 2 additions & 2 deletions core/registry/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,9 @@ func startBackOff(operation func() error) {
func URIs2Hosts(uris []string) ([]string, string, error) {
hosts := make([]string, 0)
var scheme string
var hostPortRegex = "(\\.*://.*):(\\d*)\\/?(.*)"
var URIRegex = "(\\.*://.*)"
for _, addr := range uris {
ok, err := regexp.MatchString(hostPortRegex, addr)
ok, err := regexp.MatchString(URIRegex, addr)
if err != nil {
return nil, "", err
}
Expand Down
7 changes: 7 additions & 0 deletions core/registry/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,4 +175,11 @@ func TestURIs2Hosts(t *testing.T) {
assert.Equal(t, "", s)
assert.Equal(t, "ab.bb.com:8080", hosts[0])
})

t.Run("https host port", func(t *testing.T) {
hosts, s, err := registry.URIs2Hosts([]string{"https://cse.cn-north-1.myhuaweicloud.com"})
assert.NoError(t, err)
assert.Equal(t, "https", s)
assert.Equal(t, "cse.cn-north-1.myhuaweicloud.com", hosts[0])
})
}

0 comments on commit 7b9748e

Please sign in to comment.