Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
speech_nlu_parse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵文静
speech_nlu_parse
Commits
ee471383
Commit
ee471383
authored
Jun 14, 2025
by
赵文静
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加一个http的入口
parent
9f03e311
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
380 additions
and
52 deletions
+380
-52
app/response.go
app/response.go
+56
-0
c2c.http
c2c.http
+13
-1
conf/config.yaml
conf/config.yaml
+2
-0
go.mod
go.mod
+26
-8
go.sum
go.sum
+68
-16
main.go
main.go
+34
-0
pkg/consul/register.go
pkg/consul/register.go
+14
-9
pkg/util/parse.go
pkg/util/parse.go
+63
-0
router/router.go
router/router.go
+86
-0
service/service.go
service/service.go
+17
-17
service/speechNlu/speechWs.go
service/speechNlu/speechWs.go
+1
-1
No files found.
app/response.go
0 → 100644
View file @
ee471383
package
app
import
(
"fmt"
"net/http"
"speech-nlu-parse/pkg/util"
"time"
"github.com/gin-gonic/gin"
)
type
Response
struct
{
ctx
*
gin
.
Context
}
func
NewResponse
(
ctx
*
gin
.
Context
)
*
Response
{
response
:=
&
Response
{
ctx
:
ctx
,
}
response
.
ctx
.
Header
(
"Content-Type"
,
"application/json;charset=utf-8"
)
return
response
}
func
(
r
*
Response
)
ToResponse
(
v
interface
{})
{
if
r
.
ctx
.
Writer
.
Written
()
{
return
}
data
:=
v
r
.
ctx
.
JSON
(
http
.
StatusOK
,
data
)
}
func
(
r
*
Response
)
ToFormatErrResponse
(
errStr
string
)
{
fmt
.
Println
(
r
.
ctx
.
Writer
.
Written
(),
time
.
Now
()
.
Unix
())
if
r
.
ctx
.
Writer
.
Written
()
{
return
}
data
:=
gin
.
H
{
"code"
:
401
,
"errorType"
:
"request data error, check it and try again!["
+
errStr
+
"]"
,
}
r
.
ctx
.
JSON
(
http
.
StatusOK
,
data
)
}
func
(
r
*
Response
)
ToByteResponse
(
data
[]
byte
)
{
if
r
.
ctx
.
Writer
.
Written
()
{
return
}
// 直接返回原始字节数据(确保data已经是合法的JSON字符串)
//r.ctx.Data(http.StatusOK, "application/json", data)
//r.ctx.JSON(http.StatusOK, data)
//r.ctx.Data(http.StatusOK, "application/json;charset=utf-8", data)
r
.
ctx
.
JSON
(
http
.
StatusOK
,
util
.
GetJsonTool
()
.
Get
(
data
)
.
GetInterface
())
}
c2c.http
View file @
ee471383
POST http://localhost:19990/semantic/unisoundc2c/speech-nlu-parse
Content-Type: application/json
{
"ip": "14.215.222.17",
"mac": "ece154a865eb",
"mid": "11011",
"query":"今天星期几",
"requestId": "123456111"
}
###
#POST https://nlu.gree.com/semantic/unisoundc2c/querys
#POST https://nlu.gree.com/semantic/unisoundc2c/querys
POST https://testnlu.gree.com/semantic/unisoundc2c/querys
POST https://testnlu.gree.com/semantic/unisoundc2c/querys
#POST http://172.28.124.216:9999/semantic/unisoundc2c/querys
#POST http://172.28.124.216:9999/semantic/unisoundc2c/querys
...
@@ -33,7 +45,7 @@ Content-Type: application/json
...
@@ -33,7 +45,7 @@ Content-Type: application/json
},
},
"nluRet": {
"nluRet": {
"asr_recongize": "",
"asr_recongize": "",
"text": "
讲个笑话
"
"text": "
今天星期几
"
}
}
},
},
"version": "v0"
"version": "v0"
...
...
conf/config.yaml
View file @
ee471383
...
@@ -7,6 +7,8 @@ Server:
...
@@ -7,6 +7,8 @@ Server:
ConsulAddr
:
172.28.124.105:8500
#consul的地址
ConsulAddr
:
172.28.124.105:8500
#consul的地址
Interval
:
10
#健康检查间隔,单位:秒
Interval
:
10
#健康检查间隔,单位:秒
Deregister
:
1
#注销时间,相当于过期时间,单位:分钟
Deregister
:
1
#注销时间,相当于过期时间,单位:分钟
HttpPort
:
19990
UriPath
:
/semantic/unisoundc2c/speech-nlu-parse
RabbitMq
:
RabbitMq
:
Url
:
amqp://iot:qwe!23@172.28.124.106:5672/voice
Url
:
amqp://iot:qwe!23@172.28.124.106:5672/voice
...
...
go.mod
View file @
ee471383
...
@@ -3,30 +3,43 @@ module speech-nlu-parse
...
@@ -3,30 +3,43 @@ module speech-nlu-parse
go 1.18
go 1.18
require (
require (
github.com/gin-gonic/gin
v1.10.1
github.com/go-redis/redis/v8
v8.11.5
github.com/go-sql-driver/mysql
v1.7.1
github.com/go-sql-driver/mysql
v1.7.1
github.com/golang/protobuf
v1.5.3
github.com/golang/protobuf
v1.5.3
github.com/google/uuid
v1.3.0
github.com/gorilla/websocket
v1.5.0
github.com/gorilla/websocket
v1.5.0
github.com/grpc-ecosystem/go-grpc-middleware
v1.4.0
github.com/grpc-ecosystem/go-grpc-middleware
v1.4.0
github.com/hashicorp/consul/api
v1.21.0
github.com/hashicorp/consul/api
v1.21.0
github.com/jinzhu/gorm
v1.9.16
github.com/jinzhu/gorm
v1.9.16
github.com/json-iterator/go
v1.1.12
github.com/json-iterator/go
v1.1.12
github.com/parnurzeal/gorequest
v0.2.16
github.com/parnurzeal/gorequest
v0.2.16
github.com/rabbitmq/amqp091-go
v1.10.0
github.com/spf13/viper
v1.16.0
github.com/spf13/viper
v1.16.0
github.com/tidwall/gjson
v1.14.4
github.com/tidwall/gjson
v1.14.4
go.uber.org/zap
v1.24.0
go.uber.org/zap
v1.24.0
google.golang.org/grpc
v1.56.0
google.golang.org/grpc
v1.56.0
google.golang.org/protobuf
v1.3
0.0
google.golang.org/protobuf
v1.3
4.1
gopkg.in/natefinch/lumberjack.v2
v2.2.1
gopkg.in/natefinch/lumberjack.v2
v2.2.1
)
)
require (
require (
github.com/armon/go-metrics
v0.4.0 // indirect
github.com/armon/go-metrics
v0.4.0 // indirect
github.com/bytedance/sonic
v1.11.6 // indirect
github.com/bytedance/sonic/loader
v0.1.1 // indirect
github.com/cespare/xxhash/v2
v2.2.0 // indirect
github.com/cespare/xxhash/v2
v2.2.0 // indirect
github.com/cloudwego/base64x
v0.1.4 // indirect
github.com/cloudwego/iasm
v0.2.0 // indirect
github.com/dgryski/go-rendezvous
v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/dgryski/go-rendezvous
v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/elazarl/goproxy
v0.0.0-20221015165544-a0805db90819 // indirect
github.com/elazarl/goproxy
v0.0.0-20221015165544-a0805db90819 // indirect
github.com/fatih/color
v1.13.0 // indirect
github.com/fatih/color
v1.13.0 // indirect
github.com/fsnotify/fsnotify
v1.6.0 // indirect
github.com/fsnotify/fsnotify
v1.6.0 // indirect
github.com/go-redis/redis/v8
v8.11.5 // indirect
github.com/gabriel-vasile/mimetype
v1.4.3 // indirect
github.com/gin-contrib/sse
v0.1.0 // indirect
github.com/go-playground/locales
v0.14.1 // indirect
github.com/go-playground/universal-translator
v0.18.1 // indirect
github.com/go-playground/validator/v10
v10.20.0 // indirect
github.com/goccy/go-json
v0.10.2 // indirect
github.com/hashicorp/go-cleanhttp
v0.5.2 // indirect
github.com/hashicorp/go-cleanhttp
v0.5.2 // indirect
github.com/hashicorp/go-hclog
v1.2.0 // indirect
github.com/hashicorp/go-hclog
v1.2.0 // indirect
github.com/hashicorp/go-immutable-radix
v1.3.1 // indirect
github.com/hashicorp/go-immutable-radix
v1.3.1 // indirect
...
@@ -35,16 +48,17 @@ require (
...
@@ -35,16 +48,17 @@ require (
github.com/hashicorp/hcl
v1.0.0 // indirect
github.com/hashicorp/hcl
v1.0.0 // indirect
github.com/hashicorp/serf
v0.10.1 // indirect
github.com/hashicorp/serf
v0.10.1 // indirect
github.com/jinzhu/inflection
v1.0.0 // indirect
github.com/jinzhu/inflection
v1.0.0 // indirect
github.com/klauspost/cpuid/v2
v2.2.7 // indirect
github.com/leodido/go-urn
v1.4.0 // indirect
github.com/magiconair/properties
v1.8.7 // indirect
github.com/magiconair/properties
v1.8.7 // indirect
github.com/mattn/go-colorable
v0.1.12 // indirect
github.com/mattn/go-colorable
v0.1.12 // indirect
github.com/mattn/go-isatty
v0.0.
14
// indirect
github.com/mattn/go-isatty
v0.0.
20
// indirect
github.com/mitchellh/go-homedir
v1.1.0 // indirect
github.com/mitchellh/go-homedir
v1.1.0 // indirect
github.com/mitchellh/mapstructure
v1.5.0 // indirect
github.com/mitchellh/mapstructure
v1.5.0 // indirect
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2
v1.0.2 // indirect
github.com/modern-go/reflect2
v1.0.2 // indirect
github.com/pelletier/go-toml/v2
v2.
0.8
// indirect
github.com/pelletier/go-toml/v2
v2.
2.2
// indirect
github.com/pkg/errors
v0.9.1 // indirect
github.com/pkg/errors
v0.9.1 // indirect
github.com/rabbitmq/amqp091-go
v1.10.0 // indirect
github.com/smartystreets/goconvey
v1.8.0 // indirect
github.com/smartystreets/goconvey
v1.8.0 // indirect
github.com/spf13/afero
v1.9.5 // indirect
github.com/spf13/afero
v1.9.5 // indirect
github.com/spf13/cast
v1.5.1 // indirect
github.com/spf13/cast
v1.5.1 // indirect
...
@@ -53,11 +67,15 @@ require (
...
@@ -53,11 +67,15 @@ require (
github.com/subosito/gotenv
v1.4.2 // indirect
github.com/subosito/gotenv
v1.4.2 // indirect
github.com/tidwall/match
v1.1.1 // indirect
github.com/tidwall/match
v1.1.1 // indirect
github.com/tidwall/pretty
v1.2.0 // indirect
github.com/tidwall/pretty
v1.2.0 // indirect
github.com/twitchyliquid64/golang-asm
v0.15.1 // indirect
github.com/ugorji/go/codec
v1.2.12 // indirect
go.uber.org/atomic
v1.9.0 // indirect
go.uber.org/atomic
v1.9.0 // indirect
go.uber.org/multierr
v1.8.0 // indirect
go.uber.org/multierr
v1.8.0 // indirect
golang.org/x/net
v0.10.0 // indirect
golang.org/x/arch
v0.8.0 // indirect
golang.org/x/sys
v0.8.0 // indirect
golang.org/x/crypto
v0.23.0 // indirect
golang.org/x/text
v0.9.0 // indirect
golang.org/x/net
v0.25.0 // indirect
golang.org/x/sys
v0.20.0 // indirect
golang.org/x/text
v0.15.0 // indirect
google.golang.org/genproto
v0.0.0-20230410155749-daa745c078e1 // indirect
google.golang.org/genproto
v0.0.0-20230410155749-daa745c078e1 // indirect
gopkg.in/ini.v1
v1.67.0 // indirect
gopkg.in/ini.v1
v1.67.0 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
...
...
go.sum
View file @
ee471383
...
@@ -57,6 +57,10 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
...
@@ -57,6 +57,10 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
github.com/beorn7/perks
v1.0.0/go.mod h1:
KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks
v1.0.0/go.mod h1:
KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks
v1.0.1/go.mod h1:
G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/beorn7/perks
v1.0.1/go.mod h1:
G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy
v0.1.0/go.mod h1:
+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bgentry/speakeasy
v0.1.0/go.mod h1:
+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bytedance/sonic
v1.11.6 h1:
oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
github.com/bytedance/sonic
v1.11.6/go.mod h1:
LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4=
github.com/bytedance/sonic/loader
v0.1.1 h1:
c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM=
github.com/bytedance/sonic/loader
v0.1.1/go.mod h1:
ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/census-instrumentation/opencensus-proto
v0.2.1/go.mod h1:
f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto
v0.2.1/go.mod h1:
f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2
v2.1.1/go.mod h1:
VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2
v2.1.1/go.mod h1:
VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2
v2.2.0 h1:
DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2
v2.2.0 h1:
DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
...
@@ -67,6 +71,10 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn
...
@@ -67,6 +71,10 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn
github.com/circonus-labs/circonus-gometrics
v2.3.1+incompatible/go.mod h1:
nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonus-gometrics
v2.3.1+incompatible/go.mod h1:
nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonusllhist
v0.1.3/go.mod h1:
kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/circonus-labs/circonusllhist
v0.1.3/go.mod h1:
kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/client9/misspell
v0.3.4/go.mod h1:
qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/client9/misspell
v0.3.4/go.mod h1:
qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudwego/base64x
v0.1.4 h1:
jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
github.com/cloudwego/base64x
v0.1.4/go.mod h1:
0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm
v0.2.0 h1:
1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
github.com/cloudwego/iasm
v0.2.0/go.mod h1:
8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/cncf/udpa/go
v0.0.0-20191209042840-269d4d468f6f/go.mod h1:
M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go
v0.0.0-20191209042840-269d4d468f6f/go.mod h1:
M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go
v0.0.0-20200629203442-efcf912fb354/go.mod h1:
WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go
v0.0.0-20200629203442-efcf912fb354/go.mod h1:
WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go
v0.0.0-20201120205902-5459f2c99403/go.mod h1:
WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go
v0.0.0-20201120205902-5459f2c99403/go.mod h1:
WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
...
@@ -95,6 +103,12 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF
...
@@ -95,6 +103,12 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF
github.com/frankban/quicktest
v1.14.4 h1:
g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/frankban/quicktest
v1.14.4 h1:
g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/fsnotify/fsnotify
v1.6.0 h1:
n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify
v1.6.0 h1:
n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify
v1.6.0/go.mod h1:
sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/fsnotify/fsnotify
v1.6.0/go.mod h1:
sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/gabriel-vasile/mimetype
v1.4.3 h1:
in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
github.com/gabriel-vasile/mimetype
v1.4.3/go.mod h1:
d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
github.com/gin-contrib/sse
v0.1.0 h1:
Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
github.com/gin-contrib/sse
v0.1.0/go.mod h1:
RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin
v1.10.1 h1:
T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ=
github.com/gin-gonic/gin
v1.10.1/go.mod h1:
4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-gl/glfw
v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:
vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw
v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:
vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw
v0.0.0-20191125211704-12ad95a8df72/go.mod h1:
tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw
v0.0.0-20191125211704-12ad95a8df72/go.mod h1:
tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw
v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:
tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw
v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:
tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
...
@@ -104,12 +118,21 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
...
@@ -104,12 +118,21 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
github.com/go-logfmt/logfmt
v0.3.0/go.mod h1:
Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt
v0.3.0/go.mod h1:
Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt
v0.4.0/go.mod h1:
3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt
v0.4.0/go.mod h1:
3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt
v0.5.0/go.mod h1:
wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logfmt/logfmt
v0.5.0/go.mod h1:
wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-playground/assert/v2
v2.2.0 h1:
JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/locales
v0.14.1 h1:
EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
github.com/go-playground/locales
v0.14.1/go.mod h1:
hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator
v0.18.1 h1:
Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator
v0.18.1/go.mod h1:
xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10
v10.20.0 h1:
K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8=
github.com/go-playground/validator/v10
v10.20.0/go.mod h1:
dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
github.com/go-redis/redis/v8
v8.11.5 h1:
AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
github.com/go-redis/redis/v8
v8.11.5 h1:
AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
github.com/go-redis/redis/v8
v8.11.5/go.mod h1:
gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
github.com/go-redis/redis/v8
v8.11.5/go.mod h1:
gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
github.com/go-sql-driver/mysql
v1.5.0/go.mod h1:
DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql
v1.5.0/go.mod h1:
DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql
v1.7.1 h1:
lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql
v1.7.1 h1:
lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql
v1.7.1/go.mod h1:
OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-sql-driver/mysql
v1.7.1/go.mod h1:
OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack
v1.8.0/go.mod h1:
v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-stack/stack
v1.8.0/go.mod h1:
v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/goccy/go-json
v0.10.2 h1:
CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json
v0.10.2/go.mod h1:
6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/gogo/protobuf
v1.1.1/go.mod h1:
r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf
v1.1.1/go.mod h1:
r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf
v1.3.2/go.mod h1:
P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/gogo/protobuf
v1.3.2/go.mod h1:
P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-sql/civil
v0.0.0-20190719163853-cb61b32ac6fe h1:
lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil
v0.0.0-20190719163853-cb61b32ac6fe h1:
lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
...
@@ -172,6 +195,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
...
@@ -172,6 +195,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
github.com/google/pprof
v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:
kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof
v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:
kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio
v0.1.0/go.mod h1:
KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/renameio
v0.1.0/go.mod h1:
KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid
v1.1.2/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid
v1.1.2/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid
v1.3.0 h1:
t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid
v1.3.0/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2
v2.0.4/go.mod h1:
0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2
v2.0.4/go.mod h1:
0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2
v2.0.5/go.mod h1:
DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2
v2.0.5/go.mod h1:
DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/google-cloud-go-testing
v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:
dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/googleapis/google-cloud-go-testing
v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:
dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
...
@@ -238,6 +263,10 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7
...
@@ -238,6 +263,10 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7
github.com/julienschmidt/httprouter
v1.2.0/go.mod h1:
SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter
v1.2.0/go.mod h1:
SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck
v1.5.0/go.mod h1:
pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/errcheck
v1.5.0/go.mod h1:
pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool
v1.0.0/go.mod h1:
XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kisielk/gotool
v1.0.0/go.mod h1:
XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/cpuid/v2
v2.0.9/go.mod h1:
FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2
v2.2.7 h1:
ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
github.com/klauspost/cpuid/v2
v2.2.7/go.mod h1:
Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/knz/go-libedit
v1.10.1/go.mod h1:
MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
github.com/konsorten/go-windows-terminal-sequences
v1.0.1/go.mod h1:
T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences
v1.0.1/go.mod h1:
T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs
v0.1.0/go.mod h1:
FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/fs
v0.1.0/go.mod h1:
FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt
v0.0.0-20140226030751-b84e30acd515/go.mod h1:
+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/logfmt
v0.0.0-20140226030751-b84e30acd515/go.mod h1:
+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
...
@@ -246,6 +275,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
...
@@ -246,6 +275,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pty
v1.1.1/go.mod h1:
pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty
v1.1.1/go.mod h1:
pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text
v0.1.0/go.mod h1:
4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text
v0.1.0/go.mod h1:
4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text
v0.2.0 h1:
5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text
v0.2.0 h1:
5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/leodido/go-urn
v1.4.0 h1:
WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn
v1.4.0/go.mod h1:
bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lib/pq
v1.1.1 h1:
sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
github.com/lib/pq
v1.1.1 h1:
sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
github.com/lib/pq
v1.1.1/go.mod h1:
5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq
v1.1.1/go.mod h1:
5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/magiconair/properties
v1.8.7 h1:
IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties
v1.8.7 h1:
IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
...
@@ -261,8 +292,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
...
@@ -261,8 +292,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
github.com/mattn/go-isatty
v0.0.10/go.mod h1:
qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
github.com/mattn/go-isatty
v0.0.10/go.mod h1:
qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
github.com/mattn/go-isatty
v0.0.11/go.mod h1:
PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty
v0.0.11/go.mod h1:
PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty
v0.0.12/go.mod h1:
cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty
v0.0.12/go.mod h1:
cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty
v0.0.14 h1:
yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty
v0.0.14/go.mod h1:
7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty
v0.0.14/go.mod h1:
7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty
v0.0.20 h1:
xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty
v0.0.20/go.mod h1:
W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-sqlite3
v1.14.0 h1:
mLyGNKR8+Vv9CAU7PphKa2hkEqxxhn8i32J6FPj1/QA=
github.com/mattn/go-sqlite3
v1.14.0 h1:
mLyGNKR8+Vv9CAU7PphKa2hkEqxxhn8i32J6FPj1/QA=
github.com/mattn/go-sqlite3
v1.14.0/go.mod h1:
JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus=
github.com/mattn/go-sqlite3
v1.14.0/go.mod h1:
JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus=
github.com/matttproud/golang_protobuf_extensions
v1.0.1/go.mod h1:
D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions
v1.0.1/go.mod h1:
D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
...
@@ -283,14 +315,17 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
...
@@ -283,14 +315,17 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
github.com/modern-go/reflect2
v1.0.2 h1:
xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2
v1.0.2 h1:
xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2
v1.0.2/go.mod h1:
yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2
v1.0.2/go.mod h1:
yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mwitkow/go-conntrack
v0.0.0-20161129095857-cc309e4a2223/go.mod h1:
qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack
v0.0.0-20161129095857-cc309e4a2223/go.mod h1:
qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nxadm/tail
v1.4.8 h1:
nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/onsi/ginkgo
v1.16.5 h1:
8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/gomega
v1.18.1 h1:
M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/opentracing/opentracing-go
v1.1.0/go.mod h1:
UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go
v1.1.0/go.mod h1:
UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/parnurzeal/gorequest
v0.2.16 h1:
T/5x+/4BT+nj+3eSknXmCTnEVGSzFzPGdpqmUVVZXHQ=
github.com/parnurzeal/gorequest
v0.2.16 h1:
T/5x+/4BT+nj+3eSknXmCTnEVGSzFzPGdpqmUVVZXHQ=
github.com/parnurzeal/gorequest
v0.2.16/go.mod h1:
3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE=
github.com/parnurzeal/gorequest
v0.2.16/go.mod h1:
3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE=
github.com/pascaldekloe/goe
v0.0.0-20180627143212-57f6aae5913c/go.mod h1:
lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe
v0.0.0-20180627143212-57f6aae5913c/go.mod h1:
lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe
v0.1.0 h1:
cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
github.com/pascaldekloe/goe
v0.1.0 h1:
cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
github.com/pascaldekloe/goe
v0.1.0/go.mod h1:
lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe
v0.1.0/go.mod h1:
lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pelletier/go-toml/v2
v2.
0.8 h1:
0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ
=
github.com/pelletier/go-toml/v2
v2.
2.2 h1:
aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM
=
github.com/pelletier/go-toml/v2
v2.
0.8/go.mod h1:
vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4
=
github.com/pelletier/go-toml/v2
v2.
2.2/go.mod h1:
1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs
=
github.com/pkg/errors
v0.8.0/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors
v0.8.0/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors
v0.8.1/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors
v0.8.1/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors
v0.9.1 h1:
FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors
v0.9.1 h1:
FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
...
@@ -338,8 +373,9 @@ github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1Fof
...
@@ -338,8 +373,9 @@ github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1Fof
github.com/stretchr/objx
v0.1.0/go.mod h1:
HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx
v0.1.0/go.mod h1:
HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx
v0.1.1/go.mod h1:
HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx
v0.1.1/go.mod h1:
HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx
v0.4.0/go.mod h1:
YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx
v0.4.0/go.mod h1:
YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx
v0.5.0 h1:
1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
github.com/stretchr/objx
v0.5.0/go.mod h1:
Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx
v0.5.0/go.mod h1:
Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx
v0.5.2 h1:
xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx
v0.5.2/go.mod h1:
FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify
v1.2.2/go.mod h1:
a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify
v1.2.2/go.mod h1:
a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify
v1.3.0/go.mod h1:
M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify
v1.3.0/go.mod h1:
M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify
v1.4.0/go.mod h1:
j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify
v1.4.0/go.mod h1:
j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
...
@@ -347,8 +383,10 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
...
@@ -347,8 +383,10 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/stretchr/testify
v1.7.0/go.mod h1:
6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify
v1.7.0/go.mod h1:
6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify
v1.7.1/go.mod h1:
6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify
v1.7.1/go.mod h1:
6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify
v1.8.0/go.mod h1:
yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify
v1.8.0/go.mod h1:
yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify
v1.8.3 h1:
RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
github.com/stretchr/testify
v1.8.1/go.mod h1:
w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify
v1.8.3/go.mod h1:
sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify
v1.8.4/go.mod h1:
sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify
v1.9.0 h1:
HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify
v1.9.0/go.mod h1:
r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv
v1.4.2 h1:
X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv
v1.4.2 h1:
X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv
v1.4.2/go.mod h1:
ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/subosito/gotenv
v1.4.2/go.mod h1:
ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/tidwall/gjson
v1.14.4 h1:
uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM=
github.com/tidwall/gjson
v1.14.4 h1:
uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM=
...
@@ -358,6 +396,10 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT
...
@@ -358,6 +396,10 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT
github.com/tidwall/pretty
v1.2.0 h1:
RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
github.com/tidwall/pretty
v1.2.0 h1:
RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
github.com/tidwall/pretty
v1.2.0/go.mod h1:
ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/pretty
v1.2.0/go.mod h1:
ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tv42/httpunix
v0.0.0-20150427012821-b75d8614f926/go.mod h1:
9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/tv42/httpunix
v0.0.0-20150427012821-b75d8614f926/go.mod h1:
9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/twitchyliquid64/golang-asm
v0.15.1 h1:
SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm
v0.15.1/go.mod h1:
a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/ugorji/go/codec
v1.2.12 h1:
9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE=
github.com/ugorji/go/codec
v1.2.12/go.mod h1:
UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yuin/goldmark
v1.1.25/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark
v1.1.25/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark
v1.1.27/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark
v1.1.27/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark
v1.1.32/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark
v1.1.32/go.mod h1:
3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
...
@@ -372,13 +414,16 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
...
@@ -372,13 +414,16 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic
v1.9.0 h1:
ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
go.uber.org/atomic
v1.9.0 h1:
ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
go.uber.org/atomic
v1.9.0/go.mod h1:
fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic
v1.9.0/go.mod h1:
fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak
v1.1.10/go.mod h1:
8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak
v1.1.10/go.mod h1:
8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak
v1.
1.11 h1:
wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI
=
go.uber.org/goleak
v1.
3.0 h1:
2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto
=
go.uber.org/multierr
v1.6.0/go.mod h1:
cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr
v1.6.0/go.mod h1:
cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr
v1.8.0 h1:
dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr
v1.8.0 h1:
dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr
v1.8.0/go.mod h1:
7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/multierr
v1.8.0/go.mod h1:
7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/zap
v1.18.1/go.mod h1:
xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap
v1.18.1/go.mod h1:
xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap
v1.24.0 h1:
FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap
v1.24.0 h1:
FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap
v1.24.0/go.mod h1:
2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
go.uber.org/zap
v1.24.0/go.mod h1:
2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
golang.org/x/arch
v0.0.0-20210923205945-b76863e36670/go.mod h1:
5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
golang.org/x/arch
v0.8.0 h1:
3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc=
golang.org/x/arch
v0.8.0/go.mod h1:
FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
golang.org/x/crypto
v0.0.0-20180904163835-0709b304e793/go.mod h1:
6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto
v0.0.0-20180904163835-0709b304e793/go.mod h1:
6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto
v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:
djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto
v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:
djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto
v0.0.0-20190325154230-a5d413f7728c/go.mod h1:
djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto
v0.0.0-20190325154230-a5d413f7728c/go.mod h1:
djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
...
@@ -390,7 +435,8 @@ golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPh
...
@@ -390,7 +435,8 @@ golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto
v0.0.0-20200622213623-75b288015ac9/go.mod h1:
LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto
v0.0.0-20200622213623-75b288015ac9/go.mod h1:
LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto
v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:
T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto
v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:
T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto
v0.0.0-20220722155217-630584e8d5aa/go.mod h1:
IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto
v0.0.0-20220722155217-630584e8d5aa/go.mod h1:
IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto
v0.9.0 h1:
LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
golang.org/x/crypto
v0.23.0 h1:
dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto
v0.23.0/go.mod h1:
CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/exp
v0.0.0-20190121172915-509febef88a4/go.mod h1:
CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp
v0.0.0-20190121172915-509febef88a4/go.mod h1:
CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp
v0.0.0-20190306152737-a1d7652674e8/go.mod h1:
CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp
v0.0.0-20190306152737-a1d7652674e8/go.mod h1:
CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp
v0.0.0-20190510132918-efd6b22b2522/go.mod h1:
ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp
v0.0.0-20190510132918-efd6b22b2522/go.mod h1:
ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
...
@@ -461,8 +507,8 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
...
@@ -461,8 +507,8 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net
v0.0.0-20210226172049-e18ecbb05110/go.mod h1:
m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net
v0.0.0-20210226172049-e18ecbb05110/go.mod h1:
m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net
v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:
9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net
v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:
9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net
v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:
9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net
v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:
9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net
v0.
10.0 h1:
X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M
=
golang.org/x/net
v0.
25.0 h1:
d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac
=
golang.org/x/net
v0.
10.0/go.mod h1:
0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg
=
golang.org/x/net
v0.
25.0/go.mod h1:
JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM
=
golang.org/x/oauth2
v0.0.0-20180821212333-d2e6202438be/go.mod h1:
N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2
v0.0.0-20180821212333-d2e6202438be/go.mod h1:
N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2
v0.0.0-20190226205417-e64efc72b421/go.mod h1:
gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2
v0.0.0-20190226205417-e64efc72b421/go.mod h1:
gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2
v0.0.0-20190604053449-0f29369cfe45/go.mod h1:
gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2
v0.0.0-20190604053449-0f29369cfe45/go.mod h1:
gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
...
@@ -535,8 +581,10 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
...
@@ -535,8 +581,10 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys
v0.0.0-20211025201205-69cdffdb9359/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.0.0-20211025201205-69cdffdb9359/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.0.0-20220728004956-3c1f35247d10/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.0.0-20220728004956-3c1f35247d10/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.0.0-20220908164124-27713097b956/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.0.0-20220908164124-27713097b956/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.8.0 h1:
EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys
v0.5.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.8.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.6.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.20.0 h1:
Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys
v0.20.0/go.mod h1:
/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term
v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:
bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term
v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:
bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text
v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:
NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text
v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:
NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text
v0.3.0/go.mod h1:
NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text
v0.3.0/go.mod h1:
NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
...
@@ -546,8 +594,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
...
@@ -546,8 +594,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text
v0.3.4/go.mod h1:
5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text
v0.3.4/go.mod h1:
5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text
v0.3.6/go.mod h1:
5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text
v0.3.6/go.mod h1:
5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text
v0.3.7/go.mod h1:
u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text
v0.3.7/go.mod h1:
u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text
v0.
9.0 h1:
2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE
=
golang.org/x/text
v0.
15.0 h1:
h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk
=
golang.org/x/text
v0.
9.0/go.mod h1:
e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8
=
golang.org/x/text
v0.
15.0/go.mod h1:
18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU
=
golang.org/x/time
v0.0.0-20181108054448-85acf8d2951c/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time
v0.0.0-20181108054448-85acf8d2951c/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time
v0.0.0-20190308202827-9d24e82272b4/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time
v0.0.0-20190308202827-9d24e82272b4/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time
v0.0.0-20191024005414-555d28b269f0/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time
v0.0.0-20191024005414-555d28b269f0/go.mod h1:
tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
...
@@ -701,8 +749,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
...
@@ -701,8 +749,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
google.golang.org/protobuf
v1.25.0/go.mod h1:
9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf
v1.25.0/go.mod h1:
9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf
v1.26.0-rc.1/go.mod h1:
jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf
v1.26.0-rc.1/go.mod h1:
jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf
v1.26.0/go.mod h1:
9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf
v1.26.0/go.mod h1:
9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf
v1.3
0.0 h1:
kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cn
g=
google.golang.org/protobuf
v1.3
4.1 h1:
9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW
g=
google.golang.org/protobuf
v1.3
0.0/go.mod h1:
HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I
=
google.golang.org/protobuf
v1.3
4.1/go.mod h1:
c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos
=
gopkg.in/alecthomas/kingpin.v2
v2.2.6/go.mod h1:
FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/alecthomas/kingpin.v2
v2.2.6/go.mod h1:
FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1
v0.0.0-20161208181325-20d25e280405/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1
v0.0.0-20161208181325-20d25e280405/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1
v1.0.0-20180628173108-788fd7840127/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1
v1.0.0-20180628173108-788fd7840127/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
...
@@ -713,11 +761,13 @@ gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
...
@@ -713,11 +761,13 @@ gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1
v1.67.0/go.mod h1:
pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1
v1.67.0/go.mod h1:
pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2
v2.2.1 h1:
bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
gopkg.in/natefinch/lumberjack.v2
v2.2.1 h1:
bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
gopkg.in/natefinch/lumberjack.v2
v2.2.1/go.mod h1:
YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/natefinch/lumberjack.v2
v2.2.1/go.mod h1:
YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/tomb.v1
v1.0.0-20141024135613-dd632973f1e7 h1:
uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/yaml.v2
v2.2.1/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.1/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.2/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.2/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.4/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.4/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.5/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.5/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.8/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.2.8/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2
v2.4.0 h1:
D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3
v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.0-20210107192922-496545a6307b/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.0-20210107192922-496545a6307b/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.1 h1:
fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3
v3.0.1 h1:
fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
...
@@ -731,6 +781,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
...
@@ -731,6 +781,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
honnef.co/go/tools
v0.0.1-2020.1.4/go.mod h1:
X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools
v0.0.1-2020.1.4/go.mod h1:
X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
moul.io/http2curl
v1.0.0 h1:
6XwpyZOYsgZJrU8exnG87ncVkU1FVCcTRpwzOkTDUi8=
moul.io/http2curl
v1.0.0 h1:
6XwpyZOYsgZJrU8exnG87ncVkU1FVCcTRpwzOkTDUi8=
moul.io/http2curl
v1.0.0/go.mod h1:
f6cULg+e4Md/oW1cYmwW4IWQOVl2lGbmCNGOHvzX2kE=
moul.io/http2curl
v1.0.0/go.mod h1:
f6cULg+e4Md/oW1cYmwW4IWQOVl2lGbmCNGOHvzX2kE=
nullprogram.com/x/optparse
v1.0.0/go.mod h1:
KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
rsc.io/binaryregexp
v0.2.0/go.mod h1:
qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/binaryregexp
v0.2.0/go.mod h1:
qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/pdf
v0.1.1/go.mod h1:
n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3
v3.1.0/go.mod h1:
yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/quote/v3
v3.1.0/go.mod h1:
yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler
v1.3.0/go.mod h1:
T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
rsc.io/sampler
v1.3.0/go.mod h1:
T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
main.go
View file @
ee471383
package
main
package
main
import
(
import
(
"context"
"errors"
"errors"
"flag"
"flag"
"fmt"
"fmt"
"github.com/gin-gonic/gin"
grpc_middleware
"github.com/grpc-ecosystem/go-grpc-middleware"
grpc_middleware
"github.com/grpc-ecosystem/go-grpc-middleware"
"google.golang.org/grpc"
"google.golang.org/grpc"
"google.golang.org/grpc/health/grpc_health_v1"
"google.golang.org/grpc/health/grpc_health_v1"
"google.golang.org/grpc/reflection"
"google.golang.org/grpc/reflection"
"log"
"log"
"net"
"net"
"net/http"
"net/url"
"net/url"
"os"
"os"
"os/signal"
"os/signal"
...
@@ -17,6 +20,7 @@ import (
...
@@ -17,6 +20,7 @@ import (
"speech-nlu-parse/middleware"
"speech-nlu-parse/middleware"
"speech-nlu-parse/pkg/database"
"speech-nlu-parse/pkg/database"
"speech-nlu-parse/pkg/proto"
"speech-nlu-parse/pkg/proto"
"speech-nlu-parse/router"
"speech-nlu-parse/service"
"speech-nlu-parse/service"
"speech-nlu-parse/service/speechNlu"
"speech-nlu-parse/service/speechNlu"
"strings"
"strings"
...
@@ -138,6 +142,26 @@ func main() {
...
@@ -138,6 +142,26 @@ func main() {
}
}
}()
}()
// 初始化并启动 HTTP 服务
gin
.
SetMode
(
global
.
ServerSetting
.
RunMode
)
engine
:=
router
.
InitRouter
()
_
=
engine
.
SetTrustedProxies
(
nil
)
//不使用信任代理功能,即不使用gin策略再对来源过滤
s
:=
http
.
Server
{
Addr
:
":"
+
global
.
ServerSetting
.
HttpPort
,
Handler
:
engine
,
//ReadTimeout: global.ServerSetting.ReadTimeout, //设置连接的最大读取时间
//WriteTimeout: global.ServerSetting.WriteTimeout, //设置连接的最大写入时间
MaxHeaderBytes
:
1
<<
20
,
}
go
func
()
{
global
.
Logger
.
Infof
(
"HTTP service is running on port %s"
,
"global.ServerSetting.HttpPort"
)
if
err
:=
s
.
ListenAndServe
();
err
!=
nil
&&
err
!=
http
.
ErrServerClosed
{
log
.
Fatalf
(
"[FATAL] HTTP serve error: %v"
,
err
)
}
}()
// 阻塞等待信号
// 阻塞等待信号
stop
:=
make
(
chan
os
.
Signal
,
1
)
stop
:=
make
(
chan
os
.
Signal
,
1
)
signal
.
Notify
(
stop
,
os
.
Interrupt
,
syscall
.
SIGTERM
)
signal
.
Notify
(
stop
,
os
.
Interrupt
,
syscall
.
SIGTERM
)
...
@@ -145,6 +169,16 @@ func main() {
...
@@ -145,6 +169,16 @@ func main() {
// 优雅关闭
// 优雅关闭
log
.
Println
(
"[INFO] Shutting down..."
)
log
.
Println
(
"[INFO] Shutting down..."
)
// 创建上下文用于优雅关闭
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
5
*
time
.
Second
)
defer
cancel
()
// 先关闭HTTP服务
if
err
:=
s
.
Shutdown
(
ctx
);
err
!=
nil
{
log
.
Printf
(
"[WARN] HTTP server shutdown error: %v"
,
err
)
}
server
.
GracefulStop
()
server
.
GracefulStop
()
log
.
Println
(
"[INFO] Server stopped"
)
log
.
Println
(
"[INFO] Server stopped"
)
}
}
...
...
pkg/consul/register.go
View file @
ee471383
...
@@ -18,6 +18,11 @@ type ConsulSettingS struct {
...
@@ -18,6 +18,11 @@ type ConsulSettingS struct {
ConsulToken
string
ConsulToken
string
Interval
time
.
Duration
Interval
time
.
Duration
Deregister
time
.
Duration
Deregister
time
.
Duration
HttpPort
string
UriPath
string
ReadTimeout
time
.
Duration
WriteTimeout
time
.
Duration
//DefaultContextTimeout time.Duration
}
}
func
RegisterService
(
cs
*
ConsulSettingS
)
error
{
func
RegisterService
(
cs
*
ConsulSettingS
)
error
{
...
...
pkg/util/parse.go
0 → 100644
View file @
ee471383
package
util
import
(
"crypto/md5"
"encoding/hex"
"strconv"
"strings"
"time"
jsoniter
"github.com/json-iterator/go"
)
// ConfigCompatibleWithStandardLibrary 尝试100%与标准库行为兼容
var
jsonT
=
jsoniter
.
ConfigCompatibleWithStandardLibrary
// 更换日志工具包---转入全局公共类,方便所有包调用
// Interface2String interface{} 对象转换成 string 字符串
func
Interface2String
(
inter
interface
{})
string
{
switch
inter
.
(
type
)
{
case
string
:
return
inter
.
(
string
)
case
int
:
return
strconv
.
Itoa
(
inter
.
(
int
))
case
float64
:
return
strconv
.
FormatFloat
(
inter
.
(
float64
),
'f'
,
0
,
64
)
case
[]
uint8
:
return
string
(
inter
.
([]
uint8
))
case
int64
:
return
strconv
.
Itoa
(
int
(
inter
.
(
int64
)))
case
time
.
Time
:
return
inter
.
(
time
.
Time
)
.
Format
(
"2006-01-02 15:04:05"
)
case
nil
:
return
""
default
:
var
str
string
str
,
_
=
jsonT
.
MarshalToString
(
inter
)
return
str
}
}
// ParseToInterface 将 []byte 转化为 interface{}
func
ParseToInterface
(
bs
[]
byte
)
interface
{}
{
return
jsonT
.
Get
(
bs
)
.
GetInterface
()
}
func
GetJsonTool
()
jsoniter
.
API
{
return
jsonT
}
// StringBuilderAppend 字符串高效拼接,bytes.Builder 也有类似效果
// 大量才有优化效果,如果小量不如使用 + 直接拼
func
StringBuilderAppend
(
s
...
string
)
string
{
var
res
strings
.
Builder
for
i
:=
0
;
i
<
len
(
s
);
i
++
{
res
.
WriteString
(
s
[
i
])
}
return
res
.
String
()
}
func
MD5WithSalt
(
text
,
salt
string
)
string
{
// 盐值拼接方式可自定义(如 salt + text + salt)
hash
:=
md5
.
Sum
([]
byte
(
text
+
salt
))
return
hex
.
EncodeToString
(
hash
[
:
])
}
router/router.go
0 → 100644
View file @
ee471383
package
router
import
(
"encoding/json"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"github.com/tidwall/gjson"
"speech-nlu-parse/app"
"speech-nlu-parse/global"
"speech-nlu-parse/model"
"speech-nlu-parse/pkg/logger"
"speech-nlu-parse/pkg/proto"
"speech-nlu-parse/service/speechNlu"
"strings"
)
func
InitRouter
()
(
engine
*
gin
.
Engine
)
{
// 获取并增加日志与恢复中间件
//engine = gin.Default()
engine
=
gin
.
New
()
engine
.
Use
(
gin
.
Recovery
())
// 超时限制测试
//engine.Use(middleware.TimeLimitMiddleware(time.Second * 5))
engine
.
POST
(
global
.
ServerSetting
.
UriPath
,
Controller
)
return
}
type
SnpReq
struct
{
Ip
string
`json:"ip"`
Mac
string
`json:"mac"`
Mid
string
`json:"mid"`
Query
string
`json:"query"`
RequestId
string
`json:"requestId"`
}
func
Controller
(
ctx
*
gin
.
Context
)
{
req
:=
SnpReq
{}
response
:=
app
.
NewResponse
(
ctx
)
if
err
:=
ctx
.
ShouldBind
(
&
req
);
err
!=
nil
{
global
.
Logger
.
Errorf
(
"redis.ShouldBind err: %v "
,
err
)
response
.
ToFormatErrResponse
(
err
.
Error
())
return
}
if
strings
.
TrimSpace
(
req
.
Query
)
==
""
||
strings
.
TrimSpace
(
req
.
Mac
)
==
""
{
response
.
ToFormatErrResponse
(
"请求格式错误"
)
return
}
if
req
.
Ip
==
""
{
req
.
Ip
=
ctx
.
ClientIP
()
}
if
req
.
RequestId
==
""
{
req
.
RequestId
=
uuid
.
New
()
.
String
()
}
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"query"
:
req
.
Query
,
"mac"
:
req
.
Mac
,
"mid"
:
req
.
Mid
,
"requestId"
:
req
.
RequestId
,
"ip"
:
req
.
Ip
})
.
Info
(
"speech-nlu-parse-http request"
)
semanticReq
:=
SpeechNluParseSemanticRequest
(
req
)
jsonStr
,
code
:=
speechNlu
.
SpeechNlu
(
semanticReq
)
responseText
:=
gjson
.
Get
(
jsonStr
,
"response_text"
)
.
String
()
response1
:=
&
proto
.
SemanticResponse
{
Status
:
&
proto
.
Status
{
Code
:
code
.
Code
(),
Msg
:
code
.
Msg
()},
Data
:
&
proto
.
SemanticData
{
SemanticRespJsonData
:
jsonStr
}}
responseBody
,
_
:=
json
.
Marshal
(
response1
)
defer
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"responseBody"
:
string
(
responseBody
),
"query"
:
req
.
Query
,
"responseText"
:
responseText
},
"mac"
:
req
.
Mac
,
"mid"
:
req
.
Mid
,
"requestId"
:
req
.
RequestId
,
"ip"
:
req
.
Ip
})
.
Info
(
"speech-nlu-parse-http response"
)
// 直接返回 semanticRespJsonData 的原始内容(已经是JSON字符串)
//ctx.Data(http.StatusOK, "application/json", []byte(jsonStr))
response
.
ToByteResponse
([]
byte
(
jsonStr
))
return
}
func
SpeechNluParseSemanticRequest
(
req
SnpReq
)
*
model
.
SemanticReq
{
semanticReq
:=
&
model
.
SemanticReq
{
MacWifi
:
req
.
Mac
,
MacVoice
:
req
.
Mac
,
Query
:
req
.
Query
,
Ip
:
req
.
Ip
,
OriginQuery
:
req
.
Query
,
Mid
:
req
.
Mid
,
RequestId
:
req
.
RequestId
,
}
return
semanticReq
}
service/service.go
View file @
ee471383
...
@@ -507,7 +507,7 @@ func GetSemanticReq(md map[string][]string) (*model.TencentNluParseStreamMetaDat
...
@@ -507,7 +507,7 @@ func GetSemanticReq(md map[string][]string) (*model.TencentNluParseStreamMetaDat
func
(
this
TencentNlu
)
TencentNluParse
(
ctx
context
.
Context
,
r
*
proto
.
SemanticRequest
)
(
*
proto
.
SemanticResponse
,
error
)
{
func
(
this
TencentNlu
)
TencentNluParse
(
ctx
context
.
Context
,
r
*
proto
.
SemanticRequest
)
(
*
proto
.
SemanticResponse
,
error
)
{
requestBody
,
_
:=
json
.
Marshal
(
r
)
requestBody
,
_
:=
json
.
Marshal
(
r
)
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"requestBody"
:
string
(
requestBody
),
"query"
:
r
.
GetQuery
()},
"mac"
:
r
.
GetMacWifi
(),
"mid"
:
r
.
GetMid
(),
"vender"
:
r
.
GetVender
(),
"requestId"
:
r
.
RequestId
})
.
Info
(
"tencent
-nlu-parse-grpc request"
)
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"requestBody"
:
string
(
requestBody
),
"query"
:
r
.
GetQuery
()},
"mac"
:
r
.
GetMacWifi
(),
"mid"
:
r
.
GetMid
(),
"vender"
:
r
.
GetVender
(),
"requestId"
:
r
.
RequestId
,
"ip"
:
r
.
Ip
})
.
Info
(
"speech
-nlu-parse-grpc request"
)
semanticReq
:=
TencentNluParseSemanticRequest2ModelSemanticReq
(
r
)
semanticReq
:=
TencentNluParseSemanticRequest2ModelSemanticReq
(
r
)
fmt
.
Println
(
semanticReq
)
fmt
.
Println
(
semanticReq
)
...
@@ -515,7 +515,7 @@ func (this TencentNlu) TencentNluParse(ctx context.Context, r *proto.SemanticReq
...
@@ -515,7 +515,7 @@ func (this TencentNlu) TencentNluParse(ctx context.Context, r *proto.SemanticReq
responseText
:=
gjson
.
Get
(
jsonStr
,
"response_text"
)
.
String
()
responseText
:=
gjson
.
Get
(
jsonStr
,
"response_text"
)
.
String
()
response
:=
&
proto
.
SemanticResponse
{
Status
:
&
proto
.
Status
{
Code
:
code
.
Code
(),
Msg
:
code
.
Msg
()},
Data
:
&
proto
.
SemanticData
{
SemanticRespJsonData
:
jsonStr
}}
response
:=
&
proto
.
SemanticResponse
{
Status
:
&
proto
.
Status
{
Code
:
code
.
Code
(),
Msg
:
code
.
Msg
()},
Data
:
&
proto
.
SemanticData
{
SemanticRespJsonData
:
jsonStr
}}
responseBody
,
_
:=
json
.
Marshal
(
response
)
responseBody
,
_
:=
json
.
Marshal
(
response
)
defer
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"responseBody"
:
string
(
responseBody
),
"query"
:
r
.
GetQuery
(),
"responseText"
:
responseText
},
"mac"
:
r
.
GetMacWifi
(),
"mid"
:
r
.
GetMid
(),
"vender"
:
r
.
GetVender
(),
"requestId"
:
r
.
RequestId
})
.
Info
(
"tencent
-nlu-parse-grpc response"
)
defer
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"responseBody"
:
string
(
responseBody
),
"query"
:
r
.
GetQuery
(),
"responseText"
:
responseText
},
"mac"
:
r
.
GetMacWifi
(),
"mid"
:
r
.
GetMid
(),
"vender"
:
r
.
GetVender
(),
"requestId"
:
r
.
RequestId
,
"ip"
:
r
.
Ip
})
.
Info
(
"speech
-nlu-parse-grpc response"
)
return
response
,
nil
return
response
,
nil
}
}
...
@@ -654,7 +654,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -654,7 +654,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
Tencent
NluParseStream websocket closed."
)
})
.
Info
(
"
Speech
NluParseStream websocket closed."
)
}
else
{
}
else
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"requestId"
:
requestId
,
"requestId"
:
requestId
,
...
@@ -662,7 +662,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -662,7 +662,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Errorf
(
"
TencentNluParseStream tencent
NluWs.Recv error. %v"
,
err
)
})
.
Errorf
(
"
SpeechNluParseStream speech
NluWs.Recv error. %v"
,
err
)
}
}
nlpWsConn
.
Close
()
nlpWsConn
.
Close
()
cancel
()
cancel
()
...
@@ -675,7 +675,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -675,7 +675,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
TencentNluParseStream tencent
NluWs.Recv."
)
})
.
Info
(
"
SpeechNluParseStream speech
NluWs.Recv."
)
// 解析
// 解析
// tencentNluWs := tencentNlu.TencentNlpWs{}
// tencentNluWs := tencentNlu.TencentNlpWs{}
res
:=
speechNluWs
.
ParseSpeechNluData
(
data
,
requestId
,
sessionId
)
res
:=
speechNluWs
.
ParseSpeechNluData
(
data
,
requestId
,
sessionId
)
...
@@ -691,7 +691,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -691,7 +691,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
responseBody
,
_
:=
json
.
Marshal
(
resp
)
responseBody
,
_
:=
json
.
Marshal
(
resp
)
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"data"
:
map
[
string
]
interface
{}{
"
tencent
NluParseStreamBody"
:
string
(
responseBody
),
"
speech
NluParseStreamBody"
:
string
(
responseBody
),
"responseText"
:
responseText
,
"responseText"
:
responseText
,
},
},
"requestId"
:
requestId
,
"requestId"
:
requestId
,
...
@@ -699,7 +699,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -699,7 +699,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
Tencent
NluParseStream stream.Send."
)
})
.
Info
(
"
Speech
NluParseStream stream.Send."
)
responseType
:=
gjson
.
GetBytes
(
res
,
"header.semantic.ResponseType"
)
.
String
()
responseType
:=
gjson
.
GetBytes
(
res
,
"header.semantic.ResponseType"
)
.
String
()
if
responseType
==
"semantic.close"
{
if
responseType
==
"semantic.close"
{
nlpWsConn
.
Close
()
nlpWsConn
.
Close
()
...
@@ -722,7 +722,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -722,7 +722,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
Tencent
NluParseStream stream is canceled."
)
})
.
Info
(
"
Speech
NluParseStream stream is canceled."
)
cancel
()
cancel
()
return
nil
return
nil
}
}
...
@@ -734,7 +734,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -734,7 +734,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
Tencent
NluParseStream stream closed."
)
})
.
Info
(
"
Speech
NluParseStream stream closed."
)
// 客户端关闭
// 客户端关闭
}
else
{
}
else
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
...
@@ -743,7 +743,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -743,7 +743,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Errorf
(
"
Tencent
NluParseStream stream.Recv error. %v"
,
err
)
})
.
Errorf
(
"
Speech
NluParseStream stream.Recv error. %v"
,
err
)
}
}
cancel
()
cancel
()
return
nil
return
nil
...
@@ -751,7 +751,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -751,7 +751,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
requestBody
,
_
:=
json
.
Marshal
(
data
)
requestBody
,
_
:=
json
.
Marshal
(
data
)
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"data"
:
map
[
string
]
interface
{}{
"
tencent
NluParseStreamBody"
:
string
(
requestBody
),
"
speech
NluParseStreamBody"
:
string
(
requestBody
),
"query"
:
data
.
Query
,
"query"
:
data
.
Query
,
},
},
"requestId"
:
requestId
,
"requestId"
:
requestId
,
...
@@ -759,7 +759,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -759,7 +759,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
Tencent
NluParseStream stream.Recv."
)
})
.
Info
(
"
Speech
NluParseStream stream.Recv."
)
select
{
select
{
case
<-
cancelCtx
.
Done
()
:
case
<-
cancelCtx
.
Done
()
:
// 腾讯 ws 关闭了
// 腾讯 ws 关闭了
...
@@ -771,7 +771,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -771,7 +771,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
tRequestBody
,
_
:=
json
.
Marshal
(
data
)
tRequestBody
,
_
:=
json
.
Marshal
(
data
)
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"data"
:
map
[
string
]
interface
{}{
"data"
:
map
[
string
]
interface
{}{
"
tencent
NluParseStreamBody"
:
string
(
tRequestBody
),
"
speech
NluParseStreamBody"
:
string
(
tRequestBody
),
"query"
:
data
.
Query
,
"query"
:
data
.
Query
,
},
},
"requestId"
:
requestId
,
"requestId"
:
requestId
,
...
@@ -779,7 +779,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
...
@@ -779,7 +779,7 @@ func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseS
"mid"
:
mid
,
"mid"
:
mid
,
"vender"
:
vender
,
"vender"
:
vender
,
"sessionId"
:
sessionId
,
"sessionId"
:
sessionId
,
})
.
Info
(
"
TencentNluParseStream tencent
NluWs.Send."
)
})
.
Info
(
"
SpeechNluParseStream speech
NluWs.Send."
)
}
}
}
}
}
}
service/speechNlu/speechWs.go
View file @
ee471383
...
@@ -46,7 +46,7 @@ func (s *SpeechNlpWs) SpeechWs(ip, deviceId string) (*websocket.Conn, error) {
...
@@ -46,7 +46,7 @@ func (s *SpeechNlpWs) SpeechWs(ip, deviceId string) (*websocket.Conn, error) {
}
}
global
.
Logger
.
WithFields
(
logger
.
Fields
{
global
.
Logger
.
WithFields
(
logger
.
Fields
{
"url"
:
SpeechUrl
,
"url"
:
SpeechUrl
,
})
.
Errorf
(
"[SpeechWs] Connect"
)
})
.
Info
(
"[SpeechWs] Connect"
)
return
conn
,
nil
return
conn
,
nil
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment