mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 08:29:33 +08:00 
			
		
		
		
	* fix: StringValue When there are double quotes in the string value, serialization and deserialization fail Signed-off-by: withchao <993506633@qq.com> * test: StatusTemporaryRedirect -> StatusFound Signed-off-by: withchao <993506633@qq.com> * chore: pb a2r Signed-off-by: withchao <993506633@qq.com> * chore: replacement package Signed-off-by: withchao <993506633@qq.com> * chore: replacement package Signed-off-by: withchao <993506633@qq.com> * chore: replacement package Signed-off-by: withchao <993506633@qq.com> * fix: remove go mod replace Signed-off-by: withchao <993506633@qq.com> * fix: tools version Signed-off-by: withchao <993506633@qq.com> * fix: config.yaml Signed-off-by: withchao <993506633@qq.com> --------- Signed-off-by: withchao <993506633@qq.com>
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright © 2023 OpenIM. All rights reserved.
 | |
| //
 | |
| // Licensed under the Apache License, Version 2.0 (the "License");
 | |
| // you may not use this file except in compliance with the License.
 | |
| // You may obtain a copy of the License at
 | |
| //
 | |
| //     http://www.apache.org/licenses/LICENSE-2.0
 | |
| //
 | |
| // Unless required by applicable law or agreed to in writing, software
 | |
| // distributed under the License is distributed on an "AS IS" BASIS,
 | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| // See the License for the specific language governing permissions and
 | |
| // limitations under the License.
 | |
| 
 | |
| package rpcclient
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"net/url"
 | |
| 
 | |
| 	"github.com/minio/minio-go/v7"
 | |
| 	"github.com/minio/minio-go/v7/pkg/credentials"
 | |
| 
 | |
| 	"google.golang.org/grpc"
 | |
| 
 | |
| 	"github.com/OpenIMSDK/protocol/third"
 | |
| 	"github.com/OpenIMSDK/tools/config"
 | |
| 	"github.com/OpenIMSDK/tools/discoveryregistry"
 | |
| )
 | |
| 
 | |
| type Third struct {
 | |
| 	conn        grpc.ClientConnInterface
 | |
| 	Client      third.ThirdClient
 | |
| 	discov      discoveryregistry.SvcDiscoveryRegistry
 | |
| 	MinioClient *minio.Client
 | |
| }
 | |
| 
 | |
| func NewThird(discov discoveryregistry.SvcDiscoveryRegistry) *Third {
 | |
| 	conn, err := discov.GetConn(context.Background(), config.Config.RpcRegisterName.OpenImThirdName)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	client := third.NewThirdClient(conn)
 | |
| 	minioClient, err := minioInit()
 | |
| 	return &Third{discov: discov, Client: client, conn: conn, MinioClient: minioClient}
 | |
| }
 | |
| 
 | |
| func minioInit() (*minio.Client, error) {
 | |
| 	minioClient := &minio.Client{}
 | |
| 	var initUrl string
 | |
| 	initUrl = config.Config.Object.Minio.Endpoint
 | |
| 	minioUrl, err := url.Parse(initUrl)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	opts := &minio.Options{
 | |
| 		Creds: credentials.NewStaticV4(config.Config.Object.Minio.AccessKeyID, config.Config.Object.Minio.SecretAccessKey, ""),
 | |
| 		// Region: config.Config.Credential.Minio.Location,
 | |
| 	}
 | |
| 	if minioUrl.Scheme == "http" {
 | |
| 		opts.Secure = false
 | |
| 	} else if minioUrl.Scheme == "https" {
 | |
| 		opts.Secure = true
 | |
| 	}
 | |
| 	minioClient, err = minio.New(minioUrl.Host, opts)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return minioClient, nil
 | |
| }
 |