|
@@ -4,10 +4,12 @@ import (
|
|
|
"bytes"
|
|
|
"context"
|
|
|
"fmt"
|
|
|
+ "google.golang.org/grpc/peer"
|
|
|
"jygit.jydev.jianyu360.cn/BaseService/ossClient/constant"
|
|
|
"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
|
|
|
"jygit.jydev.jianyu360.cn/BaseService/ossClient/pb"
|
|
|
"log"
|
|
|
+ "net"
|
|
|
)
|
|
|
|
|
|
type myWriter struct {
|
|
@@ -26,10 +28,10 @@ type Grpc struct {
|
|
|
|
|
|
func (g *Grpc) Download(req *pb.DownloadRequest, resp pb.Service_DownloadServer) error {
|
|
|
if err := checkArgs(&entity.Args{BucketID: req.BucketID, ObjectName: req.ObjectName}); err != nil {
|
|
|
- log.Println("grpc方式", fmt.Sprintf(constant.DownloadFail, err))
|
|
|
+ log.Println(g.getIPFromContext(resp.Context()), "grpc方式", fmt.Sprintf(constant.DownloadFail, err))
|
|
|
return err
|
|
|
}
|
|
|
- log.Println("grpc方式下载", req.BucketID, req.ObjectName)
|
|
|
+ log.Println(g.getIPFromContext(resp.Context()), "grpc方式下载", req.BucketID, req.ObjectName)
|
|
|
return Download(&myWriter{resp: resp}, 0, req.BucketID, req.ObjectName)
|
|
|
}
|
|
|
|
|
@@ -38,19 +40,30 @@ func (g *Grpc) GetBidDetail(req *pb.DownloadRequest, resp pb.Service_DownloadSer
|
|
|
log.Println("grpc方式", fmt.Sprintf(constant.GetBidDetailFail, err))
|
|
|
return err
|
|
|
}
|
|
|
- log.Println("grpc方式获取正文", req.BucketID, req.ObjectName)
|
|
|
+ log.Println(g.getIPFromContext(resp.Context()), "grpc方式获取正文", req.BucketID, req.ObjectName)
|
|
|
GetBidDetail(&myWriter{resp: resp}, req.BucketID, req.ObjectName)
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
func (g *Grpc) Upload(ctx context.Context, req *pb.UploadRequest) (*pb.Response, error) {
|
|
|
if err := checkArgs(&entity.Args{BucketID: req.BucketID, ObjectName: req.ObjectName}); err != nil {
|
|
|
- log.Println("grpc方式", fmt.Sprintf(constant.UploadFail, err))
|
|
|
+ log.Println(g.getIPFromContext(ctx), "grpc方式", fmt.Sprintf(constant.UploadFail, err))
|
|
|
return nil, err
|
|
|
}
|
|
|
+ log.Println(g.getIPFromContext(ctx), "rpc方式上传文件", req.BucketID, req.ObjectName, req.Gzip, len(req.Stream))
|
|
|
err := Upload(req.BucketID, req.ObjectName, bytes.NewReader(req.Stream), req.Gzip)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
return &pb.Response{ErrorMsg: constant.UploadSuccess}, nil
|
|
|
}
|
|
|
+
|
|
|
+func (g *Grpc) getIPFromContext(ctx context.Context) string {
|
|
|
+ var ip string
|
|
|
+ if p, ok := peer.FromContext(ctx); ok {
|
|
|
+ if addr, ok := p.Addr.(*net.TCPAddr); ok {
|
|
|
+ ip = addr.IP.String()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ip
|
|
|
+}
|