diff --git a/go.mod b/go.mod index 7b8c2da5c..5cda41168 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/openimsdk/open-im-server/v3 -go 1.21.2 +go 1.20 require ( firebase.google.com/go v3.13.0+incompatible @@ -15,7 +15,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/localcache v0.0.1 github.com/openimsdk/protocol v0.0.63 - github.com/openimsdk/tools v0.0.47-alpha.37 + github.com/openimsdk/tools v0.0.47-alpha.40 github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.18.0 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 5d9446534..a8c0a3bb8 100644 --- a/go.sum +++ b/go.sum @@ -22,13 +22,10 @@ github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mo github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible h1:8psS8a+wKfiLt1iVDX79F7Y6wUM49Lcha2FMXt4UM8g= github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= -github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= -github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -46,7 +43,6 @@ github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5P github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= -github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -70,15 +66,12 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w= github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -97,7 +90,6 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= 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= @@ -145,13 +137,11 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -204,7 +194,6 @@ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkr github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kelindar/bitmap v1.5.2 h1:XwX7CTvJtetQZ64zrOkApoZZHBJRkjE23NfqUALA/HE= @@ -220,9 +209,7 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= 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/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= @@ -283,8 +270,8 @@ github.com/openimsdk/gomake v0.0.6 h1:bJmQWDHBj8PQ7oGJ2SL3Gsx0k5CdI/BPfGzlGcV105 github.com/openimsdk/gomake v0.0.6/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.63 h1:9DnweZe9nEYDFa4fGTbC9Cqi0gLUdtBhRo1NRP2X3WQ= github.com/openimsdk/protocol v0.0.63/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= -github.com/openimsdk/tools v0.0.47-alpha.37 h1:o+bFIO4kwF1nThFP0wr4gRHYPmwa+hahmmaGCJcQqqg= -github.com/openimsdk/tools v0.0.47-alpha.37/go.mod h1:P4oGP1Pd+d4ctbLD5U/XQTgl8yu8Hd3skx640Fr69ko= +github.com/openimsdk/tools v0.0.47-alpha.40 h1:Jhajwo7SpAGjAwp4c8sV+TPt0tzZP10MNGwgBDtMPNE= +github.com/openimsdk/tools v0.0.47-alpha.40/go.mod h1:P4oGP1Pd+d4ctbLD5U/XQTgl8yu8Hd3skx640Fr69ko= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= @@ -295,7 +282,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= -github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -312,7 +298,6 @@ github.com/redis/go-redis/v9 v9.4.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0 github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -391,7 +376,6 @@ go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFu go.opentelemetry.io/otel/metric v1.23.0 h1:pazkx7ss4LFVVYSxYew7L5I6qvLXHA0Ap2pwV+9Cnpo= go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/trace v1.23.0 h1:37Ik5Ib7xfYVb4V1UtnT97T1jI+AoIYkJyPkuL4iJgI= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= @@ -399,7 +383,6 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= @@ -506,7 +489,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.165.0 h1:zd5d4JIIIaYYsfVy1HzoXYZ9rWCSBxxAglbczzo7Bgc= google.golang.org/api v0.165.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -544,7 +526,6 @@ google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGm google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/internal/push/callback.go b/internal/push/callback.go index 26b475512..bb5a89069 100644 --- a/internal/push/callback.go +++ b/internal/push/callback.go @@ -16,6 +16,7 @@ package push import ( "context" + "github.com/openimsdk/open-im-server/v3/pkg/common/webhook" "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct" "github.com/openimsdk/open-im-server/v3/pkg/common/config" @@ -26,71 +27,75 @@ import ( ) func (p *Pusher) webhookBeforeOfflinePush(ctx context.Context, before *config.BeforeConfig, userIDs []string, msg *sdkws.MsgData, offlinePushUserIDs *[]string) error { - if msg.ContentType == constant.Typing { - return nil - } - req := &callbackstruct.CallbackBeforePushReq{ - UserStatusBatchCallbackReq: callbackstruct.UserStatusBatchCallbackReq{ - UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ - CallbackCommand: callbackstruct.CallbackBeforeOfflinePushCommand, - OperationID: mcontext.GetOperationID(ctx), - PlatformID: int(msg.SenderPlatformID), - Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if msg.ContentType == constant.Typing { + return nil + } + req := &callbackstruct.CallbackBeforePushReq{ + UserStatusBatchCallbackReq: callbackstruct.UserStatusBatchCallbackReq{ + UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ + CallbackCommand: callbackstruct.CallbackBeforeOfflinePushCommand, + OperationID: mcontext.GetOperationID(ctx), + PlatformID: int(msg.SenderPlatformID), + Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), + }, + UserIDList: userIDs, }, - UserIDList: userIDs, - }, - OfflinePushInfo: msg.OfflinePushInfo, - ClientMsgID: msg.ClientMsgID, - SendID: msg.SendID, - GroupID: msg.GroupID, - ContentType: msg.ContentType, - SessionType: msg.SessionType, - AtUserIDs: msg.AtUserIDList, - Content: GetContent(msg), - } + OfflinePushInfo: msg.OfflinePushInfo, + ClientMsgID: msg.ClientMsgID, + SendID: msg.SendID, + GroupID: msg.GroupID, + ContentType: msg.ContentType, + SessionType: msg.SessionType, + AtUserIDs: msg.AtUserIDList, + Content: GetContent(msg), + } - resp := &callbackstruct.CallbackBeforePushResp{} + resp := &callbackstruct.CallbackBeforePushResp{} - if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { - return err - } + if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { + return err + } - if len(resp.UserIDs) != 0 { - *offlinePushUserIDs = resp.UserIDs - } - if resp.OfflinePushInfo != nil { - msg.OfflinePushInfo = resp.OfflinePushInfo - } - return nil + if len(resp.UserIDs) != 0 { + *offlinePushUserIDs = resp.UserIDs + } + if resp.OfflinePushInfo != nil { + msg.OfflinePushInfo = resp.OfflinePushInfo + } + return nil + }) } func (p *Pusher) webhookBeforeOnlinePush(ctx context.Context, before *config.BeforeConfig, userIDs []string, msg *sdkws.MsgData) error { - if datautil.Contain(msg.SendID, userIDs...) || msg.ContentType == constant.Typing { - return nil - } - req := callbackstruct.CallbackBeforePushReq{ - UserStatusBatchCallbackReq: callbackstruct.UserStatusBatchCallbackReq{ - UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ - CallbackCommand: callbackstruct.CallbackBeforeOnlinePushCommand, - OperationID: mcontext.GetOperationID(ctx), - PlatformID: int(msg.SenderPlatformID), - Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if datautil.Contain(msg.SendID, userIDs...) || msg.ContentType == constant.Typing { + return nil + } + req := callbackstruct.CallbackBeforePushReq{ + UserStatusBatchCallbackReq: callbackstruct.UserStatusBatchCallbackReq{ + UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ + CallbackCommand: callbackstruct.CallbackBeforeOnlinePushCommand, + OperationID: mcontext.GetOperationID(ctx), + PlatformID: int(msg.SenderPlatformID), + Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), + }, + UserIDList: userIDs, }, - UserIDList: userIDs, - }, - ClientMsgID: msg.ClientMsgID, - SendID: msg.SendID, - GroupID: msg.GroupID, - ContentType: msg.ContentType, - SessionType: msg.SessionType, - AtUserIDs: msg.AtUserIDList, - Content: GetContent(msg), - } - resp := &callbackstruct.CallbackBeforePushResp{} - if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { - return err - } - return nil + ClientMsgID: msg.ClientMsgID, + SendID: msg.SendID, + GroupID: msg.GroupID, + ContentType: msg.ContentType, + SessionType: msg.SessionType, + AtUserIDs: msg.AtUserIDList, + Content: GetContent(msg), + } + resp := &callbackstruct.CallbackBeforePushResp{} + if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { + return err + } + return nil + }) } func (p *Pusher) webhookBeforeGroupOnlinePush( @@ -100,31 +105,33 @@ func (p *Pusher) webhookBeforeGroupOnlinePush( msg *sdkws.MsgData, pushToUserIDs *[]string, ) error { - if msg.ContentType == constant.Typing { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if msg.ContentType == constant.Typing { + return nil + } + req := callbackstruct.CallbackBeforeSuperGroupOnlinePushReq{ + UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ + CallbackCommand: callbackstruct.CallbackBeforeGroupOnlinePushCommand, + OperationID: mcontext.GetOperationID(ctx), + PlatformID: int(msg.SenderPlatformID), + Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), + }, + ClientMsgID: msg.ClientMsgID, + SendID: msg.SendID, + GroupID: groupID, + ContentType: msg.ContentType, + SessionType: msg.SessionType, + AtUserIDs: msg.AtUserIDList, + Content: GetContent(msg), + Seq: msg.Seq, + } + resp := &callbackstruct.CallbackBeforeSuperGroupOnlinePushResp{} + if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { + return err + } + if len(resp.UserIDs) != 0 { + *pushToUserIDs = resp.UserIDs + } return nil - } - req := callbackstruct.CallbackBeforeSuperGroupOnlinePushReq{ - UserStatusBaseCallback: callbackstruct.UserStatusBaseCallback{ - CallbackCommand: callbackstruct.CallbackBeforeGroupOnlinePushCommand, - OperationID: mcontext.GetOperationID(ctx), - PlatformID: int(msg.SenderPlatformID), - Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), - }, - ClientMsgID: msg.ClientMsgID, - SendID: msg.SendID, - GroupID: groupID, - ContentType: msg.ContentType, - SessionType: msg.SessionType, - AtUserIDs: msg.AtUserIDList, - Content: GetContent(msg), - Seq: msg.Seq, - } - resp := &callbackstruct.CallbackBeforeSuperGroupOnlinePushResp{} - if err := p.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { - return err - } - if len(resp.UserIDs) != 0 { - *pushToUserIDs = resp.UserIDs - } - return nil + }) } diff --git a/internal/rpc/friend/callback.go b/internal/rpc/friend/callback.go index 15586082b..0610cdb78 100644 --- a/internal/rpc/friend/callback.go +++ b/internal/rpc/friend/callback.go @@ -16,6 +16,7 @@ package friend import ( "context" + "github.com/openimsdk/open-im-server/v3/pkg/common/webhook" cbapi "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct" "github.com/openimsdk/open-im-server/v3/pkg/common/config" @@ -32,19 +33,21 @@ func (s *friendServer) webhookAfterDeleteFriend(ctx context.Context, after *conf } func (s *friendServer) webhookBeforeAddFriend(ctx context.Context, before *config.BeforeConfig, req *pbfriend.ApplyToAddFriendReq) error { - cbReq := &cbapi.CallbackBeforeAddFriendReq{ - CallbackCommand: cbapi.CallbackBeforeAddFriendCommand, - FromUserID: req.FromUserID, - ToUserID: req.ToUserID, - ReqMsg: req.ReqMsg, - Ex: req.Ex, - } - resp := &cbapi.CallbackBeforeAddFriendResp{} + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeAddFriendReq{ + CallbackCommand: cbapi.CallbackBeforeAddFriendCommand, + FromUserID: req.FromUserID, + ToUserID: req.ToUserID, + ReqMsg: req.ReqMsg, + Ex: req.Ex, + } + resp := &cbapi.CallbackBeforeAddFriendResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - return nil + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } + return nil + }) } func (s *friendServer) webhookAfterAddFriend(ctx context.Context, after *config.AfterConfig, req *pbfriend.ApplyToAddFriendReq) { @@ -91,65 +94,64 @@ func (s *friendServer) webhookAfterRemoveBlack(ctx context.Context, after *confi } func (s *friendServer) webhookBeforeSetFriendRemark(ctx context.Context, before *config.BeforeConfig, req *pbfriend.SetFriendRemarkReq) error { - cbReq := &cbapi.CallbackBeforeSetFriendRemarkReq{ - CallbackCommand: cbapi.CallbackBeforeSetFriendRemarkCommand, - OwnerUserID: req.OwnerUserID, - FriendUserID: req.FriendUserID, - Remark: req.Remark, - } - resp := &cbapi.CallbackBeforeSetFriendRemarkResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - if resp.Remark != "" { - req.Remark = resp.Remark - } - return nil + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeSetFriendRemarkReq{ + CallbackCommand: cbapi.CallbackBeforeSetFriendRemarkCommand, + OwnerUserID: req.OwnerUserID, + FriendUserID: req.FriendUserID, + Remark: req.Remark, + } + resp := &cbapi.CallbackBeforeSetFriendRemarkResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } + if resp.Remark != "" { + req.Remark = resp.Remark + } + return nil + }) } func (s *friendServer) webhookBeforeAddBlack(ctx context.Context, before *config.BeforeConfig, req *pbfriend.AddBlackReq) error { - if !before.Enable { - return nil - } - cbReq := &cbapi.CallbackBeforeAddBlackReq{ - CallbackCommand: cbapi.CallbackBeforeAddBlackCommand, - OwnerUserID: req.OwnerUserID, - BlackUserID: req.BlackUserID, - } - resp := &cbapi.CallbackBeforeAddBlackResp{} - return s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before) + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeAddBlackReq{ + CallbackCommand: cbapi.CallbackBeforeAddBlackCommand, + OwnerUserID: req.OwnerUserID, + BlackUserID: req.BlackUserID, + } + resp := &cbapi.CallbackBeforeAddBlackResp{} + return s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before) + }) } func (s *friendServer) webhookBeforeAddFriendAgree(ctx context.Context, before *config.BeforeConfig, req *pbfriend.RespondFriendApplyReq) error { - if !before.Enable { - return nil - } - cbReq := &cbapi.CallbackBeforeAddFriendAgreeReq{ - CallbackCommand: cbapi.CallbackBeforeAddFriendAgreeCommand, - FromUserID: req.FromUserID, - ToUserID: req.ToUserID, - HandleMsg: req.HandleMsg, - HandleResult: req.HandleResult, - } - resp := &cbapi.CallbackBeforeAddFriendAgreeResp{} - return s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before) + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeAddFriendAgreeReq{ + CallbackCommand: cbapi.CallbackBeforeAddFriendAgreeCommand, + FromUserID: req.FromUserID, + ToUserID: req.ToUserID, + HandleMsg: req.HandleMsg, + HandleResult: req.HandleResult, + } + resp := &cbapi.CallbackBeforeAddFriendAgreeResp{} + return s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before) + }) } func (s *friendServer) webhookBeforeImportFriends(ctx context.Context, before *config.BeforeConfig, req *pbfriend.ImportFriendReq) error { - if !before.Enable { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeImportFriendsReq{ + CallbackCommand: cbapi.CallbackBeforeImportFriendsCommand, + OwnerUserID: req.OwnerUserID, + FriendUserIDs: req.FriendUserIDs, + } + resp := &cbapi.CallbackBeforeImportFriendsResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } + if len(resp.FriendUserIDs) > 0 { + req.FriendUserIDs = resp.FriendUserIDs + } return nil - } - cbReq := &cbapi.CallbackBeforeImportFriendsReq{ - CallbackCommand: cbapi.CallbackBeforeImportFriendsCommand, - OwnerUserID: req.OwnerUserID, - FriendUserIDs: req.FriendUserIDs, - } - resp := &cbapi.CallbackBeforeImportFriendsResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - if len(resp.FriendUserIDs) > 0 { - req.FriendUserIDs = resp.FriendUserIDs - } - return nil + }) } diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index 81d39540a..1690e3973 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -20,6 +20,7 @@ import ( "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct" "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" + "github.com/openimsdk/open-im-server/v3/pkg/common/webhook" "github.com/openimsdk/protocol/constant" "github.com/openimsdk/protocol/group" "github.com/openimsdk/protocol/wrapperspb" @@ -31,46 +32,48 @@ import ( // CallbackBeforeCreateGroup callback before create group. func (s *groupServer) webhookBeforeCreateGroup(ctx context.Context, before *config.BeforeConfig, req *group.CreateGroupReq) error { - cbReq := &callbackstruct.CallbackBeforeCreateGroupReq{ - CallbackCommand: callbackstruct.CallbackBeforeCreateGroupCommand, - OperationID: mcontext.GetOperationID(ctx), - GroupInfo: req.GroupInfo, - } - cbReq.InitMemberList = append(cbReq.InitMemberList, &apistruct.GroupAddMemberInfo{ - UserID: req.OwnerUserID, - RoleLevel: constant.GroupOwner, - }) - for _, userID := range req.AdminUserIDs { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &callbackstruct.CallbackBeforeCreateGroupReq{ + CallbackCommand: callbackstruct.CallbackBeforeCreateGroupCommand, + OperationID: mcontext.GetOperationID(ctx), + GroupInfo: req.GroupInfo, + } cbReq.InitMemberList = append(cbReq.InitMemberList, &apistruct.GroupAddMemberInfo{ - UserID: userID, - RoleLevel: constant.GroupAdmin, + UserID: req.OwnerUserID, + RoleLevel: constant.GroupOwner, }) - } - for _, userID := range req.MemberUserIDs { - cbReq.InitMemberList = append(cbReq.InitMemberList, &apistruct.GroupAddMemberInfo{ - UserID: userID, - RoleLevel: constant.GroupOrdinaryUsers, - }) - } - resp := &callbackstruct.CallbackBeforeCreateGroupResp{} + for _, userID := range req.AdminUserIDs { + cbReq.InitMemberList = append(cbReq.InitMemberList, &apistruct.GroupAddMemberInfo{ + UserID: userID, + RoleLevel: constant.GroupAdmin, + }) + } + for _, userID := range req.MemberUserIDs { + cbReq.InitMemberList = append(cbReq.InitMemberList, &apistruct.GroupAddMemberInfo{ + UserID: userID, + RoleLevel: constant.GroupOrdinaryUsers, + }) + } + resp := &callbackstruct.CallbackBeforeCreateGroupResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - datautil.NotNilReplace(&req.GroupInfo.GroupID, resp.GroupID) - datautil.NotNilReplace(&req.GroupInfo.GroupName, resp.GroupName) - datautil.NotNilReplace(&req.GroupInfo.Notification, resp.Notification) - datautil.NotNilReplace(&req.GroupInfo.Introduction, resp.Introduction) - datautil.NotNilReplace(&req.GroupInfo.FaceURL, resp.FaceURL) - datautil.NotNilReplace(&req.GroupInfo.OwnerUserID, resp.OwnerUserID) - datautil.NotNilReplace(&req.GroupInfo.Ex, resp.Ex) - datautil.NotNilReplace(&req.GroupInfo.Status, resp.Status) - datautil.NotNilReplace(&req.GroupInfo.CreatorUserID, resp.CreatorUserID) - datautil.NotNilReplace(&req.GroupInfo.GroupType, resp.GroupType) - datautil.NotNilReplace(&req.GroupInfo.NeedVerification, resp.NeedVerification) - datautil.NotNilReplace(&req.GroupInfo.LookMemberInfo, resp.LookMemberInfo) - return nil + datautil.NotNilReplace(&req.GroupInfo.GroupID, resp.GroupID) + datautil.NotNilReplace(&req.GroupInfo.GroupName, resp.GroupName) + datautil.NotNilReplace(&req.GroupInfo.Notification, resp.Notification) + datautil.NotNilReplace(&req.GroupInfo.Introduction, resp.Introduction) + datautil.NotNilReplace(&req.GroupInfo.FaceURL, resp.FaceURL) + datautil.NotNilReplace(&req.GroupInfo.OwnerUserID, resp.OwnerUserID) + datautil.NotNilReplace(&req.GroupInfo.Ex, resp.Ex) + datautil.NotNilReplace(&req.GroupInfo.Status, resp.Status) + datautil.NotNilReplace(&req.GroupInfo.CreatorUserID, resp.CreatorUserID) + datautil.NotNilReplace(&req.GroupInfo.GroupType, resp.GroupType) + datautil.NotNilReplace(&req.GroupInfo.NeedVerification, resp.NeedVerification) + datautil.NotNilReplace(&req.GroupInfo.LookMemberInfo, resp.LookMemberInfo) + return nil + }) } func (s *groupServer) webhookAfterCreateGroup(ctx context.Context, after *config.AfterConfig, req *group.CreateGroupReq) { @@ -98,63 +101,67 @@ func (s *groupServer) webhookAfterCreateGroup(ctx context.Context, after *config } func (s *groupServer) webhookBeforeMemberJoinGroup(ctx context.Context, before *config.BeforeConfig, groupMember *relation.GroupMemberModel, groupEx string) error { - cbReq := &callbackstruct.CallbackBeforeMemberJoinGroupReq{ - CallbackCommand: callbackstruct.CallbackBeforeMemberJoinGroupCommand, - GroupID: groupMember.GroupID, - UserID: groupMember.UserID, - Ex: groupMember.Ex, - GroupEx: groupEx, - } - resp := &callbackstruct.CallbackBeforeMemberJoinGroupResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &callbackstruct.CallbackBeforeMemberJoinGroupReq{ + CallbackCommand: callbackstruct.CallbackBeforeMemberJoinGroupCommand, + GroupID: groupMember.GroupID, + UserID: groupMember.UserID, + Ex: groupMember.Ex, + GroupEx: groupEx, + } + resp := &callbackstruct.CallbackBeforeMemberJoinGroupResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - if resp.MuteEndTime != nil { - groupMember.MuteEndTime = time.UnixMilli(*resp.MuteEndTime) - } - datautil.NotNilReplace(&groupMember.FaceURL, resp.FaceURL) - datautil.NotNilReplace(&groupMember.Ex, resp.Ex) - datautil.NotNilReplace(&groupMember.Nickname, resp.Nickname) - datautil.NotNilReplace(&groupMember.RoleLevel, resp.RoleLevel) - return nil + if resp.MuteEndTime != nil { + groupMember.MuteEndTime = time.UnixMilli(*resp.MuteEndTime) + } + datautil.NotNilReplace(&groupMember.FaceURL, resp.FaceURL) + datautil.NotNilReplace(&groupMember.Ex, resp.Ex) + datautil.NotNilReplace(&groupMember.Nickname, resp.Nickname) + datautil.NotNilReplace(&groupMember.RoleLevel, resp.RoleLevel) + return nil + }) } func (s *groupServer) webhookBeforeSetGroupMemberInfo(ctx context.Context, before *config.BeforeConfig, req *group.SetGroupMemberInfo) error { - cbReq := callbackstruct.CallbackBeforeSetGroupMemberInfoReq{ - CallbackCommand: callbackstruct.CallbackBeforeSetGroupMemberInfoCommand, - GroupID: req.GroupID, - UserID: req.UserID, - } - if req.Nickname != nil { - cbReq.Nickname = &req.Nickname.Value - } - if req.FaceURL != nil { - cbReq.FaceURL = &req.FaceURL.Value - } - if req.RoleLevel != nil { - cbReq.RoleLevel = &req.RoleLevel.Value - } - if req.Ex != nil { - cbReq.Ex = &req.Ex.Value - } - resp := &callbackstruct.CallbackBeforeSetGroupMemberInfoResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - if resp.FaceURL != nil { - req.FaceURL = wrapperspb.String(*resp.FaceURL) - } - if resp.Nickname != nil { - req.Nickname = wrapperspb.String(*resp.Nickname) - } - if resp.RoleLevel != nil { - req.RoleLevel = wrapperspb.Int32(*resp.RoleLevel) - } - if resp.Ex != nil { - req.Ex = wrapperspb.String(*resp.Ex) - } - return nil + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := callbackstruct.CallbackBeforeSetGroupMemberInfoReq{ + CallbackCommand: callbackstruct.CallbackBeforeSetGroupMemberInfoCommand, + GroupID: req.GroupID, + UserID: req.UserID, + } + if req.Nickname != nil { + cbReq.Nickname = &req.Nickname.Value + } + if req.FaceURL != nil { + cbReq.FaceURL = &req.FaceURL.Value + } + if req.RoleLevel != nil { + cbReq.RoleLevel = &req.RoleLevel.Value + } + if req.Ex != nil { + cbReq.Ex = &req.Ex.Value + } + resp := &callbackstruct.CallbackBeforeSetGroupMemberInfoResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } + if resp.FaceURL != nil { + req.FaceURL = wrapperspb.String(*resp.FaceURL) + } + if resp.Nickname != nil { + req.Nickname = wrapperspb.String(*resp.Nickname) + } + if resp.RoleLevel != nil { + req.RoleLevel = wrapperspb.Int32(*resp.RoleLevel) + } + if resp.Ex != nil { + req.Ex = wrapperspb.String(*resp.Ex) + } + return nil + }) } func (s *groupServer) webhookAfterSetGroupMemberInfo(ctx context.Context, after *config.AfterConfig, req *group.SetGroupMemberInfo) { @@ -202,12 +209,14 @@ func (s *groupServer) webhookAfterDismissGroup(ctx context.Context, after *confi } func (s *groupServer) webhookBeforeApplyJoinGroup(ctx context.Context, before *config.BeforeConfig, req *callbackstruct.CallbackJoinGroupReq) (err error) { - req.CallbackCommand = callbackstruct.CallbackBeforeJoinGroupCommand - resp := &callbackstruct.CallbackJoinGroupResp{} - if err := s.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { - return err - } - return nil + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + req.CallbackCommand = callbackstruct.CallbackBeforeJoinGroupCommand + resp := &callbackstruct.CallbackJoinGroupResp{} + if err := s.webhookClient.SyncPost(ctx, req.GetCallbackCommand(), req, resp, before); err != nil { + return err + } + return nil + }) } func (s *groupServer) webhookAfterTransferGroupOwner(ctx context.Context, after *config.AfterConfig, req *group.TransferGroupOwnerReq) { @@ -221,24 +230,26 @@ func (s *groupServer) webhookAfterTransferGroupOwner(ctx context.Context, after } func (s *groupServer) webhookBeforeInviteUserToGroup(ctx context.Context, before *config.BeforeConfig, req *group.InviteUserToGroupReq) (err error) { - cbReq := &callbackstruct.CallbackBeforeInviteUserToGroupReq{ - CallbackCommand: callbackstruct.CallbackBeforeInviteJoinGroupCommand, - OperationID: mcontext.GetOperationID(ctx), - GroupID: req.GroupID, - Reason: req.Reason, - InvitedUserIDs: req.InvitedUserIDs, - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &callbackstruct.CallbackBeforeInviteUserToGroupReq{ + CallbackCommand: callbackstruct.CallbackBeforeInviteJoinGroupCommand, + OperationID: mcontext.GetOperationID(ctx), + GroupID: req.GroupID, + Reason: req.Reason, + InvitedUserIDs: req.InvitedUserIDs, + } - resp := &callbackstruct.CallbackBeforeInviteUserToGroupResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + resp := &callbackstruct.CallbackBeforeInviteUserToGroupResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - if len(resp.RefusedMembersAccount) > 0 { - // Handle the scenario where certain members are refused - // You might want to update the req.Members list or handle it as per your business logic - } - return nil + if len(resp.RefusedMembersAccount) > 0 { + // Handle the scenario where certain members are refused + // You might want to update the req.Members list or handle it as per your business logic + } + return nil + }) } func (s *groupServer) webhookAfterJoinGroup(ctx context.Context, after *config.AfterConfig, req *group.JoinGroupReq) { @@ -254,51 +265,52 @@ func (s *groupServer) webhookAfterJoinGroup(ctx context.Context, after *config.A } func (s *groupServer) webhookBeforeSetGroupInfo(ctx context.Context, before *config.BeforeConfig, req *group.SetGroupInfoReq) error { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &callbackstruct.CallbackBeforeSetGroupInfoReq{ + CallbackCommand: callbackstruct.CallbackBeforeSetGroupInfoCommand, + GroupID: req.GroupInfoForSet.GroupID, + Notification: req.GroupInfoForSet.Notification, + Introduction: req.GroupInfoForSet.Introduction, + FaceURL: req.GroupInfoForSet.FaceURL, + GroupName: req.GroupInfoForSet.GroupName, + } + if req.GroupInfoForSet.Ex != nil { + cbReq.Ex = req.GroupInfoForSet.Ex.Value + } + log.ZDebug(ctx, "debug CallbackBeforeSetGroupInfo", "ex", cbReq.Ex) + if req.GroupInfoForSet.NeedVerification != nil { + cbReq.NeedVerification = req.GroupInfoForSet.NeedVerification.Value + } + if req.GroupInfoForSet.LookMemberInfo != nil { + cbReq.LookMemberInfo = req.GroupInfoForSet.LookMemberInfo.Value + } + if req.GroupInfoForSet.ApplyMemberFriend != nil { + cbReq.ApplyMemberFriend = req.GroupInfoForSet.ApplyMemberFriend.Value + } + resp := &callbackstruct.CallbackBeforeSetGroupInfoResp{} - cbReq := &callbackstruct.CallbackBeforeSetGroupInfoReq{ - CallbackCommand: callbackstruct.CallbackBeforeSetGroupInfoCommand, - GroupID: req.GroupInfoForSet.GroupID, - Notification: req.GroupInfoForSet.Notification, - Introduction: req.GroupInfoForSet.Introduction, - FaceURL: req.GroupInfoForSet.FaceURL, - GroupName: req.GroupInfoForSet.GroupName, - } - if req.GroupInfoForSet.Ex != nil { - cbReq.Ex = req.GroupInfoForSet.Ex.Value - } - log.ZDebug(ctx, "debug CallbackBeforeSetGroupInfo", cbReq.Ex) - if req.GroupInfoForSet.NeedVerification != nil { - cbReq.NeedVerification = req.GroupInfoForSet.NeedVerification.Value - } - if req.GroupInfoForSet.LookMemberInfo != nil { - cbReq.LookMemberInfo = req.GroupInfoForSet.LookMemberInfo.Value - } - if req.GroupInfoForSet.ApplyMemberFriend != nil { - cbReq.ApplyMemberFriend = req.GroupInfoForSet.ApplyMemberFriend.Value - } - resp := &callbackstruct.CallbackBeforeSetGroupInfoResp{} - - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - if resp.Ex != nil { - req.GroupInfoForSet.Ex = wrapperspb.String(*resp.Ex) - } - if resp.NeedVerification != nil { - req.GroupInfoForSet.NeedVerification = wrapperspb.Int32(*resp.NeedVerification) - } - if resp.LookMemberInfo != nil { - req.GroupInfoForSet.LookMemberInfo = wrapperspb.Int32(*resp.LookMemberInfo) - } - if resp.ApplyMemberFriend != nil { - req.GroupInfoForSet.ApplyMemberFriend = wrapperspb.Int32(*resp.ApplyMemberFriend) - } - datautil.NotNilReplace(&req.GroupInfoForSet.GroupID, &resp.GroupID) - datautil.NotNilReplace(&req.GroupInfoForSet.GroupName, &resp.GroupName) - datautil.NotNilReplace(&req.GroupInfoForSet.FaceURL, &resp.FaceURL) - datautil.NotNilReplace(&req.GroupInfoForSet.Introduction, &resp.Introduction) - return nil + if resp.Ex != nil { + req.GroupInfoForSet.Ex = wrapperspb.String(*resp.Ex) + } + if resp.NeedVerification != nil { + req.GroupInfoForSet.NeedVerification = wrapperspb.Int32(*resp.NeedVerification) + } + if resp.LookMemberInfo != nil { + req.GroupInfoForSet.LookMemberInfo = wrapperspb.Int32(*resp.LookMemberInfo) + } + if resp.ApplyMemberFriend != nil { + req.GroupInfoForSet.ApplyMemberFriend = wrapperspb.Int32(*resp.ApplyMemberFriend) + } + datautil.NotNilReplace(&req.GroupInfoForSet.GroupID, &resp.GroupID) + datautil.NotNilReplace(&req.GroupInfoForSet.GroupName, &resp.GroupName) + datautil.NotNilReplace(&req.GroupInfoForSet.FaceURL, &resp.FaceURL) + datautil.NotNilReplace(&req.GroupInfoForSet.Introduction, &resp.Introduction) + return nil + }) } func (s *groupServer) webhookAfterSetGroupInfo(ctx context.Context, after *config.AfterConfig, req *group.SetGroupInfoReq) { diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index f6e3868ea..10404675e 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -16,6 +16,7 @@ package msg import ( "context" + "github.com/openimsdk/open-im-server/v3/pkg/common/webhook" cbapi "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct" "github.com/openimsdk/open-im-server/v3/pkg/common/config" @@ -61,19 +62,21 @@ func GetContent(msg *sdkws.MsgData) string { } func (m *msgServer) webhookBeforeSendSingleMsg(ctx context.Context, before *config.BeforeConfig, msg *pbchat.SendMsgReq) error { - if msg.MsgData.ContentType == constant.Typing { - return nil - } - cbReq := &cbapi.CallbackBeforeSendSingleMsgReq{ - CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeSendSingleMsgCommand), - RecvID: msg.MsgData.RecvID, - } - resp := &cbapi.CallbackBeforeSendSingleMsgResp{} - if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if msg.MsgData.ContentType == constant.Typing { + return nil + } + cbReq := &cbapi.CallbackBeforeSendSingleMsgReq{ + CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeSendSingleMsgCommand), + RecvID: msg.MsgData.RecvID, + } + resp := &cbapi.CallbackBeforeSendSingleMsgResp{} + if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - return nil + return nil + }) } func (m *msgServer) webhookAfterSendSingleMsg(ctx context.Context, after *config.AfterConfig, msg *pbchat.SendMsgReq) { @@ -88,18 +91,20 @@ func (m *msgServer) webhookAfterSendSingleMsg(ctx context.Context, after *config } func (m *msgServer) webhookBeforeSendGroupMsg(ctx context.Context, before *config.BeforeConfig, msg *pbchat.SendMsgReq) error { - if msg.MsgData.ContentType == constant.Typing { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if msg.MsgData.ContentType == constant.Typing { + return nil + } + cbReq := &cbapi.CallbackBeforeSendGroupMsgReq{ + CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeSendGroupMsgCommand), + GroupID: msg.MsgData.GroupID, + } + resp := &cbapi.CallbackBeforeSendGroupMsgResp{} + if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } return nil - } - cbReq := &cbapi.CallbackBeforeSendGroupMsgReq{ - CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeSendGroupMsgCommand), - GroupID: msg.MsgData.GroupID, - } - resp := &cbapi.CallbackBeforeSendGroupMsgResp{} - if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - return nil + }) } func (m *msgServer) webhookAfterSendGroupMsg(ctx context.Context, after *config.AfterConfig, msg *pbchat.SendMsgReq) { @@ -114,37 +119,39 @@ func (m *msgServer) webhookAfterSendGroupMsg(ctx context.Context, after *config. } func (m *msgServer) webhookBeforeMsgModify(ctx context.Context, before *config.BeforeConfig, msg *pbchat.SendMsgReq) error { - if msg.MsgData.ContentType != constant.Text { + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + if msg.MsgData.ContentType != constant.Text { + return nil + } + cbReq := &cbapi.CallbackMsgModifyCommandReq{ + CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeMsgModifyCommand), + } + resp := &cbapi.CallbackMsgModifyCommandResp{} + if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } + + if resp.Content != nil { + msg.MsgData.Content = []byte(*resp.Content) + } + datautil.NotNilReplace(msg.MsgData.OfflinePushInfo, resp.OfflinePushInfo) + datautil.NotNilReplace(&msg.MsgData.RecvID, resp.RecvID) + datautil.NotNilReplace(&msg.MsgData.GroupID, resp.GroupID) + datautil.NotNilReplace(&msg.MsgData.ClientMsgID, resp.ClientMsgID) + datautil.NotNilReplace(&msg.MsgData.ServerMsgID, resp.ServerMsgID) + datautil.NotNilReplace(&msg.MsgData.SenderPlatformID, resp.SenderPlatformID) + datautil.NotNilReplace(&msg.MsgData.SenderNickname, resp.SenderNickname) + datautil.NotNilReplace(&msg.MsgData.SenderFaceURL, resp.SenderFaceURL) + datautil.NotNilReplace(&msg.MsgData.SessionType, resp.SessionType) + datautil.NotNilReplace(&msg.MsgData.MsgFrom, resp.MsgFrom) + datautil.NotNilReplace(&msg.MsgData.ContentType, resp.ContentType) + datautil.NotNilReplace(&msg.MsgData.Status, resp.Status) + datautil.NotNilReplace(&msg.MsgData.Options, resp.Options) + datautil.NotNilReplace(&msg.MsgData.AtUserIDList, resp.AtUserIDList) + datautil.NotNilReplace(&msg.MsgData.AttachedInfo, resp.AttachedInfo) + datautil.NotNilReplace(&msg.MsgData.Ex, resp.Ex) return nil - } - cbReq := &cbapi.CallbackMsgModifyCommandReq{ - CommonCallbackReq: toCommonCallback(ctx, msg, cbapi.CallbackBeforeMsgModifyCommand), - } - resp := &cbapi.CallbackMsgModifyCommandResp{} - if err := m.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } - - if resp.Content != nil { - msg.MsgData.Content = []byte(*resp.Content) - } - datautil.NotNilReplace(msg.MsgData.OfflinePushInfo, resp.OfflinePushInfo) - datautil.NotNilReplace(&msg.MsgData.RecvID, resp.RecvID) - datautil.NotNilReplace(&msg.MsgData.GroupID, resp.GroupID) - datautil.NotNilReplace(&msg.MsgData.ClientMsgID, resp.ClientMsgID) - datautil.NotNilReplace(&msg.MsgData.ServerMsgID, resp.ServerMsgID) - datautil.NotNilReplace(&msg.MsgData.SenderPlatformID, resp.SenderPlatformID) - datautil.NotNilReplace(&msg.MsgData.SenderNickname, resp.SenderNickname) - datautil.NotNilReplace(&msg.MsgData.SenderFaceURL, resp.SenderFaceURL) - datautil.NotNilReplace(&msg.MsgData.SessionType, resp.SessionType) - datautil.NotNilReplace(&msg.MsgData.MsgFrom, resp.MsgFrom) - datautil.NotNilReplace(&msg.MsgData.ContentType, resp.ContentType) - datautil.NotNilReplace(&msg.MsgData.Status, resp.Status) - datautil.NotNilReplace(&msg.MsgData.Options, resp.Options) - datautil.NotNilReplace(&msg.MsgData.AtUserIDList, resp.AtUserIDList) - datautil.NotNilReplace(&msg.MsgData.AttachedInfo, resp.AttachedInfo) - datautil.NotNilReplace(&msg.MsgData.Ex, resp.Ex) - return nil + }) } func (m *msgServer) webhookAfterGroupMsgRead(ctx context.Context, after *config.AfterConfig, req *cbapi.CallbackGroupMsgReadReq) { diff --git a/internal/rpc/user/callback.go b/internal/rpc/user/callback.go index 700a61941..1bdf399d2 100644 --- a/internal/rpc/user/callback.go +++ b/internal/rpc/user/callback.go @@ -16,6 +16,7 @@ package user import ( "context" + "github.com/openimsdk/open-im-server/v3/pkg/common/webhook" "github.com/openimsdk/tools/utils/datautil" cbapi "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct" @@ -24,21 +25,23 @@ import ( ) func (s *userServer) webhookBeforeUpdateUserInfo(ctx context.Context, before *config.BeforeConfig, req *pbuser.UpdateUserInfoReq) error { - cbReq := &cbapi.CallbackBeforeUpdateUserInfoReq{ - CallbackCommand: cbapi.CallbackBeforeUpdateUserInfoCommand, - UserID: req.UserInfo.UserID, - FaceURL: &req.UserInfo.FaceURL, - Nickname: &req.UserInfo.Nickname, - } - resp := &cbapi.CallbackBeforeUpdateUserInfoResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeUpdateUserInfoReq{ + CallbackCommand: cbapi.CallbackBeforeUpdateUserInfoCommand, + UserID: req.UserInfo.UserID, + FaceURL: &req.UserInfo.FaceURL, + Nickname: &req.UserInfo.Nickname, + } + resp := &cbapi.CallbackBeforeUpdateUserInfoResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - datautil.NotNilReplace(&req.UserInfo.FaceURL, resp.FaceURL) - datautil.NotNilReplace(&req.UserInfo.Ex, resp.Ex) - datautil.NotNilReplace(&req.UserInfo.Nickname, resp.Nickname) - return nil + datautil.NotNilReplace(&req.UserInfo.FaceURL, resp.FaceURL) + datautil.NotNilReplace(&req.UserInfo.Ex, resp.Ex) + datautil.NotNilReplace(&req.UserInfo.Nickname, resp.Nickname) + return nil + }) } func (s *userServer) webhookAfterUpdateUserInfo(ctx context.Context, after *config.AfterConfig, req *pbuser.UpdateUserInfoReq) { @@ -52,21 +55,23 @@ func (s *userServer) webhookAfterUpdateUserInfo(ctx context.Context, after *conf } func (s *userServer) webhookBeforeUpdateUserInfoEx(ctx context.Context, before *config.BeforeConfig, req *pbuser.UpdateUserInfoExReq) error { - cbReq := &cbapi.CallbackBeforeUpdateUserInfoExReq{ - CallbackCommand: cbapi.CallbackBeforeUpdateUserInfoExCommand, - UserID: req.UserInfo.UserID, - FaceURL: req.UserInfo.FaceURL, - Nickname: req.UserInfo.Nickname, - } - resp := &cbapi.CallbackBeforeUpdateUserInfoExResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeUpdateUserInfoExReq{ + CallbackCommand: cbapi.CallbackBeforeUpdateUserInfoExCommand, + UserID: req.UserInfo.UserID, + FaceURL: req.UserInfo.FaceURL, + Nickname: req.UserInfo.Nickname, + } + resp := &cbapi.CallbackBeforeUpdateUserInfoExResp{} + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - datautil.NotNilReplace(req.UserInfo.FaceURL, resp.FaceURL) - datautil.NotNilReplace(req.UserInfo.Ex, resp.Ex) - datautil.NotNilReplace(req.UserInfo.Nickname, resp.Nickname) - return nil + datautil.NotNilReplace(req.UserInfo.FaceURL, resp.FaceURL) + datautil.NotNilReplace(req.UserInfo.Ex, resp.Ex) + datautil.NotNilReplace(req.UserInfo.Nickname, resp.Nickname) + return nil + }) } func (s *userServer) webhookAfterUpdateUserInfoEx(ctx context.Context, after *config.AfterConfig, req *pbuser.UpdateUserInfoExReq) { @@ -80,22 +85,24 @@ func (s *userServer) webhookAfterUpdateUserInfoEx(ctx context.Context, after *co } func (s *userServer) webhookBeforeUserRegister(ctx context.Context, before *config.BeforeConfig, req *pbuser.UserRegisterReq) error { - cbReq := &cbapi.CallbackBeforeUserRegisterReq{ - CallbackCommand: cbapi.CallbackBeforeUserRegisterCommand, - Secret: req.Secret, - Users: req.Users, - } + return webhook.WithCondition(ctx, before, func(ctx context.Context) error { + cbReq := &cbapi.CallbackBeforeUserRegisterReq{ + CallbackCommand: cbapi.CallbackBeforeUserRegisterCommand, + Secret: req.Secret, + Users: req.Users, + } - resp := &cbapi.CallbackBeforeUserRegisterResp{} + resp := &cbapi.CallbackBeforeUserRegisterResp{} - if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { - return err - } + if err := s.webhookClient.SyncPost(ctx, cbReq.GetCallbackCommand(), cbReq, resp, before); err != nil { + return err + } - if len(resp.Users) != 0 { - req.Users = resp.Users - } - return nil + if len(resp.Users) != 0 { + req.Users = resp.Users + } + return nil + }) } func (s *userServer) webhookAfterUserRegister(ctx context.Context, after *config.AfterConfig, req *pbuser.UserRegisterReq) { diff --git a/pkg/common/webhook/condition.go b/pkg/common/webhook/condition.go new file mode 100644 index 000000000..2c038f567 --- /dev/null +++ b/pkg/common/webhook/condition.go @@ -0,0 +1,13 @@ +package webhook + +import ( + "context" + "github.com/openimsdk/open-im-server/v3/pkg/common/config" +) + +func WithCondition(ctx context.Context, before *config.BeforeConfig, callback func(context.Context) error) error { + if !before.Enable { + return nil + } + return callback(ctx) +} diff --git a/pkg/common/webhook/http_client.go b/pkg/common/webhook/http_client.go index 1d5695f57..68c007814 100644 --- a/pkg/common/webhook/http_client.go +++ b/pkg/common/webhook/http_client.go @@ -57,10 +57,7 @@ func NewWebhookClient(url string, options ...*memAsyncQueue.MemoryQueue) *Client } func (c *Client) SyncPost(ctx context.Context, command string, req callbackstruct.CallbackReq, resp callbackstruct.CallbackResp, before *config.BeforeConfig) error { - if before.Enable { - return c.post(ctx, command, req, resp, before.Timeout) - } - return nil + return c.post(ctx, command, req, resp, before.Timeout) } func (c *Client) AsyncPost(ctx context.Context, command string, req callbackstruct.CallbackReq, resp callbackstruct.CallbackResp, after *config.AfterConfig) { diff --git a/pkg/util/memAsyncQueue/queue.go b/pkg/util/memAsyncQueue/queue.go index c033116a9..2d1fd7003 100644 --- a/pkg/util/memAsyncQueue/queue.go +++ b/pkg/util/memAsyncQueue/queue.go @@ -2,7 +2,6 @@ package memAsyncQueue import ( "errors" - "fmt" "sync" "time" ) @@ -39,7 +38,6 @@ func (mq *MemoryQueue) Initialize(workerCount int, bufferSize int) { go func(workerID int) { defer mq.wg.Done() for task := range mq.taskChan { - fmt.Printf("Worker %d: Executing task\n", workerID) task() // Execute the function } }(i)