Skip to content

Commit 1874015

Browse files
committed
fmt
1 parent b1e6e5a commit 1874015

File tree

5 files changed

+83
-49
lines changed

5 files changed

+83
-49
lines changed

go.mod

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ require (
3636
github.com/go-playground/validator/v10 v10.30.2
3737
github.com/go-redsync/redsync/v4 v4.16.0
3838
github.com/go-resty/resty/v2 v2.17.2
39+
github.com/go-viper/encoding/ini v0.1.1
40+
github.com/go-viper/encoding/javaproperties v0.1.0
3941
github.com/go-viper/mapstructure/v2 v2.5.0
4042
github.com/goccy/go-json v0.10.6
4143
github.com/goccy/go-yaml v1.19.2
@@ -50,7 +52,7 @@ require (
5052
github.com/gorilla/sessions v1.4.0
5153
github.com/gorilla/websocket v1.5.3
5254
github.com/h2non/bimg v1.1.9
53-
github.com/hashicorp/consul/api v1.33.7
55+
github.com/hashicorp/consul/api v1.34.0
5456
github.com/hashicorp/go-hclog v1.6.3
5557
github.com/hashicorp/go-version v1.9.0
5658
github.com/hashicorp/golang-lru/v2 v2.0.7
@@ -65,7 +67,7 @@ require (
6567
github.com/klauspost/compress v1.18.5
6668
github.com/klauspost/cpuid/v2 v2.3.0
6769
github.com/linxGnu/grocksdb v1.10.7
68-
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260403042024-02f6b31894df
70+
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260408025637-e3094c8ef2e6
6971
github.com/liuzl/gocc v0.0.0-20231231122217-0372e1059ca5
7072
github.com/magiconair/properties v1.8.10
7173
github.com/matoous/go-nanoid/v2 v2.1.0
@@ -113,13 +115,13 @@ require (
113115
github.com/yeqown/go-qrcode/writer/standard v1.3.0
114116
go.etcd.io/etcd/client/v3 v3.6.10
115117
go.mongodb.org/mongo-driver/v2 v2.5.0
116-
go.opentelemetry.io/otel v1.42.0
117-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0
118-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0
119-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0
120-
go.opentelemetry.io/otel/metric v1.42.0
121-
go.opentelemetry.io/otel/sdk v1.42.0
122-
go.opentelemetry.io/otel/trace v1.42.0
118+
go.opentelemetry.io/otel v1.43.0
119+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0
120+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0
121+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0
122+
go.opentelemetry.io/otel/metric v1.43.0
123+
go.opentelemetry.io/otel/sdk v1.43.0
124+
go.opentelemetry.io/otel/trace v1.43.0
123125
go.uber.org/atomic v1.11.0
124126
go.uber.org/ratelimit v0.3.1
125127
go.uber.org/zap v1.27.1
@@ -385,7 +387,7 @@ require (
385387
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
386388
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect
387389
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
388-
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
390+
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
389391
go.uber.org/multierr v1.11.0 // indirect
390392
go.yaml.in/yaml/v2 v2.4.2 // indirect
391393
go.yaml.in/yaml/v3 v3.0.4 // indirect
@@ -394,8 +396,8 @@ require (
394396
google.golang.org/api v0.230.0 // indirect
395397
google.golang.org/appengine v1.6.8 // indirect
396398
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect
397-
google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect
398-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect
399+
google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect
400+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect
399401
gopkg.in/inf.v0 v0.9.1 // indirect
400402
gopkg.in/ini.v1 v1.67.0 // indirect
401403
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect

go.sum

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,10 @@ github.com/go-text/typesetting v0.3.3 h1:ihGNJU9KzdK2QRDy1Bm7FT5RFQoYb+3n3EIhI/4
627627
github.com/go-text/typesetting v0.3.3/go.mod h1:vIRUT25mLQaSh4C8H/lIsKppQz/Gdb8Pu/tNwpi52ts=
628628
github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8 h1:4KCscI9qYWMGTuz6BpJtbUSRzcBrUSSE0ENMJbNSrFs=
629629
github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8/go.mod h1:3/62I4La/HBRX9TcTpBj4eipLiwzf+vhI+7whTc9V7o=
630+
github.com/go-viper/encoding/ini v0.1.1 h1:MVWY7B2XNw7lnOqHutGRc97bF3rP7omOdgjdMPAJgbs=
631+
github.com/go-viper/encoding/ini v0.1.1/go.mod h1:Pfi4M2V1eAGJVZ5q6FrkHPhtHED2YgLlXhvgMVrB+YQ=
632+
github.com/go-viper/encoding/javaproperties v0.1.0 h1:4pQN/pez/rMy9ITZ++SgLH6VIN3zWzNNuWFHKjrpn6w=
633+
github.com/go-viper/encoding/javaproperties v0.1.0/go.mod h1:LGaThjx5J/GFdQRJscxLMQsYt0XKAM7IW9YzsJTv6jw=
630634
github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro=
631635
github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
632636
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
@@ -807,10 +811,10 @@ github.com/hack-pad/safejs v0.1.0 h1:qPS6vjreAqh2amUqj4WNG1zIw7qlRQJ9K10eDKMCnE8
807811
github.com/hack-pad/safejs v0.1.0/go.mod h1:HdS+bKF1NrE72VoXZeWzxFOVQVUSqZJAG0xNCnb+Tio=
808812
github.com/hamba/avro/v2 v2.29.0 h1:fkqoWEPxfygZxrkktgSHEpd0j/P7RKTBTDbcEeMdVEY=
809813
github.com/hamba/avro/v2 v2.29.0/go.mod h1:Pk3T+x74uJoJOFmHrdJ8PRdgSEL/kEKteJ31NytCKxI=
810-
github.com/hashicorp/consul/api v1.33.7 h1:apLZVzX7O7BLgHyh4pvczcsBzPmYSVXGKZQbOaA1ae0=
811-
github.com/hashicorp/consul/api v1.33.7/go.mod h1:SjR3cjwCUSLLDfVw5dFg76rnnKjOySxr8W8lC5s01C8=
812-
github.com/hashicorp/consul/sdk v0.17.3 h1:oZMMxzQGSsiT+ToOH50y3Qcs0nc9Ud+7L5lRx+EmMU0=
813-
github.com/hashicorp/consul/sdk v0.17.3/go.mod h1:jnOmYjiNfVRpBaujQ1DFFVs0N6g3S1y6wygSjLTzYfc=
814+
github.com/hashicorp/consul/api v1.34.0 h1:9xohQbBmU7BxlrrKYXhEZzXKtqmVlR5RIB+c6pGE2uM=
815+
github.com/hashicorp/consul/api v1.34.0/go.mod h1:9Gka/GgMEmqxWGMaTkpVWp/Trx/ZMqa/C7A/tvmd5+I=
816+
github.com/hashicorp/consul/sdk v0.18.0 h1:WvrUz2IYZXY4MX0i45QE9aFrD2izjyuUI+NZv2duatE=
817+
github.com/hashicorp/consul/sdk v0.18.0/go.mod h1:jnOmYjiNfVRpBaujQ1DFFVs0N6g3S1y6wygSjLTzYfc=
814818
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
815819
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
816820
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -959,8 +963,8 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
959963
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
960964
github.com/linxGnu/grocksdb v1.10.7 h1:fCi4qvZWo04VgFwGWmO8HQJgUVounJBy+C2TMVPU/ho=
961965
github.com/linxGnu/grocksdb v1.10.7/go.mod h1:OLQKZwiKwaJiAVCsOzWKvwiLwfZ5Vz8Md5TYR7t7pM8=
962-
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260403042024-02f6b31894df h1:S7t00v+CjS+njOCpHRHNU89mCl9j9aSiiZkrqIecmps=
963-
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260403042024-02f6b31894df/go.mod h1:+mNMTBuDMdEGhWzoQgc6kBdqeaQpWh5ba8zqmp2MxCU=
966+
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260408025637-e3094c8ef2e6 h1:iyoBM4DuKE65LDatgjCl/mutonRrjRWEZnweBQrUPII=
967+
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20260408025637-e3094c8ef2e6/go.mod h1:sj5LMpsqB4IWdwIrcmmBJM6m+rW/uOQLSGUPhKkqdh8=
964968
github.com/liuzl/cedar-go v0.0.0-20170805034717-80a9c64b256d h1:qSmEGTgjkESUX5kPMSGJ4pcBUtYVDdkNzMrjQyvRvp0=
965969
github.com/liuzl/cedar-go v0.0.0-20170805034717-80a9c64b256d/go.mod h1:x7SghIWwLVcJObXbjK7S2ENsT1cAcdJcPl7dRaSFog0=
966970
github.com/liuzl/da v0.0.0-20180704015230-14771aad5b1d h1:hTRDIpJ1FjS9ULJuEzu69n3qTgc18eI+ztw/pJv47hs=
@@ -1403,25 +1407,25 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.6
14031407
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM=
14041408
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU=
14051409
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
1406-
go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho=
1407-
go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc=
1408-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 h1:THuZiwpQZuHPul65w4WcwEnkX2QIuMT+UFoOrygtoJw=
1409-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0/go.mod h1:J2pvYM5NGHofZ2/Ru6zw/TNWnEQp5crgyDeSrYpXkAw=
1410-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 h1:zWWrB1U6nqhS/k6zYB74CjRpuiitRtLLi68VcgmOEto=
1411-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0/go.mod h1:2qXPNBX1OVRC0IwOnfo1ljoid+RD0QK3443EaqVlsOU=
1412-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0 h1:uLXP+3mghfMf7XmV4PkGfFhFKuNWoCvvx5wP/wOXo0o=
1413-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0/go.mod h1:v0Tj04armyT59mnURNUJf7RCKcKzq+lgJs6QSjHjaTc=
1414-
go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4=
1415-
go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI=
1416-
go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo=
1417-
go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts=
1418-
go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA=
1419-
go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc=
1420-
go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY=
1421-
go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc=
1410+
go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I=
1411+
go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0=
1412+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k=
1413+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0/go.mod h1:Vl1/iaggsuRlrHf/hfPJPvVag77kKyvrLeD10kpMl+A=
1414+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 h1:RAE+JPfvEmvy+0LzyUA25/SGawPwIUbZ6u0Wug54sLc=
1415+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0/go.mod h1:AGmbycVGEsRx9mXMZ75CsOyhSP6MFIcj/6dnG+vhVjk=
1416+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 h1:3iZJKlCZufyRzPzlQhUIWVmfltrXuGyfjREgGP3UUjc=
1417+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0/go.mod h1:/G+nUPfhq2e+qiXMGxMwumDrP5jtzU+mWN7/sjT2rak=
1418+
go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM=
1419+
go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY=
1420+
go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg=
1421+
go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg=
1422+
go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw=
1423+
go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A=
1424+
go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A=
1425+
go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0=
14221426
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
1423-
go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A=
1424-
go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4=
1427+
go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g=
1428+
go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk=
14251429
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
14261430
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
14271431
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
@@ -2055,10 +2059,10 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw
20552059
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
20562060
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE=
20572061
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE=
2058-
google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 h1:JLQynH/LBHfCTSbDWl+py8C+Rg/k1OVH3xfcaiANuF0=
2059-
google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:kSJwQxqmFXeo79zOmbrALdflXQeAYcUbgS7PbpMknCY=
2060-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 h1:mWPCjDEyshlQYzBpMNHaEof6UX1PmHcaUODUywQ0uac=
2061-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ=
2062+
google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 h1:VPWxll4HlMw1Vs/qXtN7BvhZqsS9cdAittCNvVENElA=
2063+
google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:7QBABkRtR8z+TEnmXTqIqwJLlzrZKVfAUm7tY3yGv0M=
2064+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg=
2065+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
20622066
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
20632067
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
20642068
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=

src/config/viperKit/read.go

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,35 @@
11
package viperKit
22

33
import (
4+
"github.com/go-viper/encoding/ini"
5+
"github.com/go-viper/encoding/javaproperties"
46
"github.com/richelieu042/chimera/v3/src/core/interfaceKit"
57
"github.com/richelieu042/chimera/v3/src/core/ioKit"
68
"github.com/richelieu042/chimera/v3/src/core/strKit"
79
"github.com/richelieu042/chimera/v3/src/file/fileKit"
810
"github.com/spf13/viper"
911
)
1012

13+
// newViper 创建一个增强了 codec 支持的 viper 实例(在内置 json/toml/yaml/dotenv 基础上,额外支持 properties、ini).
14+
/*
15+
viper库从 v1.20.0 开始支持,移除了对 HCL、Java properties、INI 的支持,详见: https://github.com/spf13/viper/pull/1870
16+
*/
17+
func newViper() *viper.Viper {
18+
codecRegistry := viper.NewCodecRegistry()
19+
20+
// 支持: properties
21+
pc := &javaproperties.Codec{}
22+
_ = codecRegistry.RegisterCodec("properties", pc)
23+
_ = codecRegistry.RegisterCodec("props", pc)
24+
_ = codecRegistry.RegisterCodec("prop", pc)
25+
26+
// 支持: ini
27+
ic := &ini.Codec{}
28+
_ = codecRegistry.RegisterCodec("ini", ic)
29+
30+
return viper.NewWithOptions(viper.WithCodecRegistry(codecRegistry))
31+
}
32+
1133
func Read(data []byte, configType string, defaultMap map[string]interface{}) (*viper.Viper, error) {
1234
if err := interfaceKit.AssertNotNil(data, "data"); err != nil {
1335
return nil, err
@@ -17,7 +39,7 @@ func Read(data []byte, configType string, defaultMap map[string]interface{}) (*v
1739
}
1840
configType = PolyfillContentType(configType)
1941

20-
v := viper.New()
42+
v := newViper()
2143
for key, value := range defaultMap {
2244
v.SetDefault(key, value)
2345
}
@@ -33,7 +55,7 @@ func ReadFile(filePath string, defaultMap map[string]interface{}) (*viper.Viper,
3355
return nil, err
3456
}
3557

36-
v := viper.New()
58+
v := newViper()
3759
for key, value := range defaultMap {
3860
v.SetDefault(key, value)
3961
}

src/config/viperKit/unmarshal_properties.go

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
package main
22

3+
import (
4+
"fmt"
5+
6+
"github.com/richelieu042/chimera/v3/src/config/viperKit"
7+
)
8+
39
func main() {
10+
path := "/Users/richelieu/Downloads/message.properties"
411

12+
m := map[string]string{}
13+
v, err := viperKit.UnmarshalFromFile(path, nil, &m)
14+
if err != nil {
15+
panic(err)
16+
}
17+
fmt.Println(v)
518
}

0 commit comments

Comments
 (0)