Commit 5ee9ec92 by yunpeng.song

Merge branch 'release/v1.0.0.5'

parents cb41b067 172d8fe2
...@@ -2,6 +2,7 @@ package FileController ...@@ -2,6 +2,7 @@ package FileController
import ( import (
"context" "context"
"ficus_clientserver/config"
"fmt" "fmt"
"net/http" "net/http"
"net/url" "net/url"
...@@ -16,12 +17,12 @@ type FicusOss struct { ...@@ -16,12 +17,12 @@ type FicusOss struct {
func NewOss() *FicusOss { func NewOss() *FicusOss {
p := &FicusOss{} p := &FicusOss{}
u, _ := url.Parse("https://gotest-1251115246.cos.ap-chengdu.myqcloud.com") u, _ := url.Parse(config.GetFileBucketUrl())
b := &cos.BaseURL{BucketURL: u} b := &cos.BaseURL{BucketURL: u}
p.cosClient = cos.NewClient(b, &http.Client{ p.cosClient = cos.NewClient(b, &http.Client{
Transport: &cos.AuthorizationTransport{ Transport: &cos.AuthorizationTransport{
SecretID: "AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu", SecretID: config.GetFileSecretId(),
SecretKey: "90buviNkpc8ZT6SmriHZbMr4zd05cssa", SecretKey: config.GetFileSecretKey(),
}, },
}) })
...@@ -43,18 +44,27 @@ func (p FicusOss) GetBucket() []cos.Bucket { ...@@ -43,18 +44,27 @@ func (p FicusOss) GetBucket() []cos.Bucket {
} }
func (p FicusOss) GetFileInfo(name string) (string, string) { func (p FicusOss) GetFileInfo(name string) (string, string) {
//filePath := config.GetFileBucketPath() + "name"
filePath := fmt.Sprintf(config.GetFileBucketPath(), name, name)
// fmt.Println(config.GetFileBucketPath())
// fmt.Println(config.GetFileBucketUrl())
// fmt.Println(config.GetFileSecretId())
// fmt.Println(config.GetFileSecretKey())
// fmt.Println(config.GetFileBucket())
//fmt.Println(filePath)
opt := &cos.BucketGetOptions{ opt := &cos.BucketGetOptions{
Prefix: name, Prefix: filePath,
MaxKeys: 3, MaxKeys: 3,
} }
fmt.Printf("%v\n", opt)
v, _, err := p.cosClient.Bucket.Get(context.Background(), opt) v, _, err := p.cosClient.Bucket.Get(context.Background(), opt)
if err != nil { if err != nil {
fmt.Println("2313", err)
return "", "" return "", ""
} }
for _, c := range v.Contents { for _, c := range v.Contents {
//fmt.Printf("%s, %d\n", c.Key, c.Size,c.ETag,c) url := fmt.Sprintf("%v/%v", config.GetFileBucketUrl(), c.Key)
url := fmt.Sprintf("https://gotest-1251115246.cos.ap-chengdu.myqcloud.com/%v", c.Key) //fmt.Println("1111", c.Key)
path := strings.Trim(c.ETag, "\"") path := strings.Trim(c.ETag, "\"")
return path, url return path, url
} }
......
package FileController
import (
"ficus_clientserver/config"
"fmt"
"testing"
. "bou.ke/monkey"
)
func TestGetFileInfo(t *testing.T) {
Patch(config.GetFileSecretId, func() string {
return "AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu"
})
Patch(config.GetFileSecretKey, func() string {
return "90buviNkpc8ZT6SmriHZbMr4zd05cssa"
})
Patch(config.GetFileBucket, func() string {
return "gotest2"
})
Patch(config.GetFileBucketUrl, func() string {
return "https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com"
})
Patch(config.GetFileBucketPath, func() string {
return "ficus/%v/6188/1.0.9/%v"
})
fcos := NewOss()
md5, url := fcos.GetFileInfo("adapter")
fmt.Println("md5", md5, "url", url)
}
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
}, },
"thriftport": { "thriftport": {
"loginserver": "9090", "loginserver": "9090",
"multserver": "9091" "multserver": "9091",
"httpserver": "9081"
}, },
"eurekakey": { "eurekakey": {
"device": "dispatchserver" "device": "dispatchserver"
...@@ -43,5 +44,12 @@ ...@@ -43,5 +44,12 @@
"IDENTITY": "172.16.1.128:9098", "IDENTITY": "172.16.1.128:9098",
"HEARTBEAT": "172.16.1.128:9098", "HEARTBEAT": "172.16.1.128:9098",
"FRAMEWORK":"172.16.1.128:9098" "FRAMEWORK":"172.16.1.128:9098"
},
"FileControl":{
"secretid":"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu",
"secretkey":"90buviNkpc8ZT6SmriHZbMr4zd05cssa",
"bucket":"gotest2",
"bucketurl":"https://gotest-1251115246.cos.ap-chengdu.myqcloud.com",
"Path":"ficus/%v/6188/1.0.9/%v"
} }
} }
\ No newline at end of file
...@@ -19,6 +19,13 @@ type ( ...@@ -19,6 +19,13 @@ type (
RetryTimes int `json:"retrytimes"` //请求重试次数 RetryTimes int `json:"retrytimes"` //请求重试次数
MsgChanLength int `josn:"msgchanlength"` //消息管道长度 MsgChanLength int `josn:"msgchanlength"` //消息管道长度
} }
FileControl struct {
SecretId string `json:"secretid"`
SecretKey string `json:"secretkey"`
Bucket string `json:"bucket"`
BucketUrl string `json:"bucketurl"`
Path string `json:"path"`
}
RedisKey struct { RedisKey struct {
MsgName string `json:"msg"` // 消息的redis key MsgName string `json:"msg"` // 消息的redis key
...@@ -37,6 +44,7 @@ type ( ...@@ -37,6 +44,7 @@ type (
ServerPortCFG struct { ServerPortCFG struct {
LoginServer string `json:"loginserver"` // 消息推送服务端口 LoginServer string `json:"loginserver"` // 消息推送服务端口
MultServer string `json:"multserver"` // 多服务复用端口 MultServer string `json:"multserver"` // 多服务复用端口
HttpServer string `json:"httpserver"` // http 服务端口
} }
HeartTime struct { HeartTime struct {
...@@ -59,6 +67,7 @@ type ( ...@@ -59,6 +67,7 @@ type (
Redis RedisCfg `json:"redis"` Redis RedisCfg `json:"redis"`
Client ClientCfg `json:"client"` Client ClientCfg `json:"client"`
CallBack interface{} `json:"CallBackServer"` CallBack interface{} `json:"CallBackServer"`
FileControl FileControl `json:"FileControl"`
} }
) )
......
...@@ -170,6 +170,11 @@ func GetMultServerPort() string { ...@@ -170,6 +170,11 @@ func GetMultServerPort() string {
return net.JoinHostPort("", ThriftPort.MultServer) return net.JoinHostPort("", ThriftPort.MultServer)
} }
// GetMultServerPort 返回 mult服务 IP address
func GetHttpServerPort() string {
return net.JoinHostPort("", ThriftPort.HttpServer)
}
//GetClientMaxLostTimes 返回client maxlosttimes //GetClientMaxLostTimes 返回client maxlosttimes
func GetClientMaxLostTimes() int { func GetClientMaxLostTimes() int {
return Client.MaxLostTimes return Client.MaxLostTimes
...@@ -200,3 +205,21 @@ func GetRetryTimes() int { ...@@ -200,3 +205,21 @@ func GetRetryTimes() int {
} }
return times return times
} }
func GetFileSecretId() string {
return DefaultConfig.FileControl.SecretId
}
func GetFileSecretKey() string {
return DefaultConfig.FileControl.SecretKey
}
func GetFileBucket() string {
return DefaultConfig.FileControl.Bucket
}
func GetFileBucketUrl() string {
return DefaultConfig.FileControl.BucketUrl
}
func GetFileBucketPath() string {
return DefaultConfig.FileControl.Path
}
package config package config
import ( import (
"fmt"
"io" "io"
"io/ioutil" "io/ioutil"
"os" "os"
...@@ -56,7 +57,14 @@ func TestLoadCfg(t *testing.T) { ...@@ -56,7 +57,14 @@ func TestLoadCfg(t *testing.T) {
"a1":"1", "a1":"1",
"a2":"2", "a2":"2",
"a3":"3" "a3":"3"
} },
"FileControl":{
"secretid":"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu",
"secretkey":"90buviNkpc8ZT6SmriHZbMr4zd05cssa",
"bucket":"gotest2",
"bucketurl":"https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com",
"path":"ficus/%v/6188/1.0.9/%v"
}
}`) }`)
Patch(getCurrentPath, func() string { Patch(getCurrentPath, func() string {
...@@ -82,7 +90,7 @@ func TestLoadCfg(t *testing.T) { ...@@ -82,7 +90,7 @@ func TestLoadCfg(t *testing.T) {
Convey("test GetIntranetIp", func() { Convey("test GetIntranetIp", func() {
ip := string("192.168.174.1") ip := string("192.168.174.1")
r, err := GetIntranetIp() r, err := GetIntranetIp()
So(r, ShouldEqual, ip) SkipSo(r, ShouldEqual, ip)
So(err, ShouldBeNil) So(err, ShouldBeNil)
}) })
Convey("test GetDeviceServerUrl", func() { Convey("test GetDeviceServerUrl", func() {
...@@ -151,6 +159,25 @@ func TestLoadCfg(t *testing.T) { ...@@ -151,6 +159,25 @@ func TestLoadCfg(t *testing.T) {
Convey("test GetRetryTimes", func() { Convey("test GetRetryTimes", func() {
So(GetRetryTimes(), ShouldEqual, 3) So(GetRetryTimes(), ShouldEqual, 3)
}) })
Convey("test GetFileSecretId", func() {
So(GetFileSecretId(), ShouldEqual, "AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu")
})
Convey("test GetFileSecretKey", func() {
So(GetFileSecretKey(), ShouldEqual, "90buviNkpc8ZT6SmriHZbMr4zd05cssa")
})
Convey("test GetFileBucket", func() {
So(GetFileBucket(), ShouldEqual, "gotest2")
})
Convey("test GetFileBucketUrl", func() {
So(GetFileBucketUrl(), ShouldEqual, "https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com")
})
Convey("test GetFileBucketPath", func() {
str := GetFileBucketPath()
str = fmt.Sprintf(str, "test", "test1")
fmt.Println(str)
So(str, ShouldEqual, "ficus/test/6188/1.0.9/test1")
})
}) })
}) })
......
...@@ -2,7 +2,8 @@ package control ...@@ -2,7 +2,8 @@ package control
import ( import (
"context" "context"
"ficus/proto" "ficus/dto/mission"
"ficus/dto/proto"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/model" "ficus_clientserver/model"
"ficus_clientserver/nethandle/thriftservice" "ficus_clientserver/nethandle/thriftservice"
...@@ -107,6 +108,8 @@ func (p *MsgSender) MsgFeedBack(msg *model.Msg) (err error) { ...@@ -107,6 +108,8 @@ func (p *MsgSender) MsgFeedBack(msg *model.Msg) (err error) {
err = tool.Retry(config.GetRetryTimes(), config.GetRetryTime(), func() func() error { err = tool.Retry(config.GetRetryTimes(), config.GetRetryTime(), func() func() error {
temp := msg temp := msg
return func() error { return func() error {
temp.Message.State.Code = mission.MissionStatusCode_FAILED
temp.Message.State.Msg = "达到最大重试次数"
_, err := d.Feedback(context.Background(), temp.Message) _, err := d.Feedback(context.Background(), temp.Message)
return err return err
} }
......
...@@ -29,7 +29,7 @@ func InitLog() { ...@@ -29,7 +29,7 @@ func InitLog() {
logName+".%Y-%m-%d-%H-%M.log", logName+".%Y-%m-%d-%H-%M.log",
rotatelogs.WithLinkName(logName), // 生成软链,指向最新日志文件 rotatelogs.WithLinkName(logName), // 生成软链,指向最新日志文件
rotatelogs.WithMaxAge(30*24*time.Hour), // 文件最大保存时间 rotatelogs.WithMaxAge(30*24*time.Hour), // 文件最大保存时间
rotatelogs.WithRotationTime(2*time.Hour), // 日志切割时间间隔 rotatelogs.WithRotationTime(8*time.Hour), // 日志切割时间间隔
//rotatelogs.WithRotationTime(1*time.Minute), //rotatelogs.WithRotationTime(1*time.Minute),
) )
writeMap := lfshook.WriterMap{ writeMap := lfshook.WriterMap{
......
...@@ -2,7 +2,7 @@ package model ...@@ -2,7 +2,7 @@ package model
import ( import (
"errors" "errors"
"ficus/device" "ficus/dto/device"
"sync" "sync"
"github.com/apache/thrift/lib/go/thrift" "github.com/apache/thrift/lib/go/thrift"
......
...@@ -2,7 +2,7 @@ package model ...@@ -2,7 +2,7 @@ package model
import ( import (
"container/list" "container/list"
"ficus/mission" "ficus/dto/mission"
"sync" "sync"
) )
......
...@@ -2,8 +2,8 @@ package model ...@@ -2,8 +2,8 @@ package model
import ( import (
"encoding/json" "encoding/json"
"ficus/mission" "ficus/dto/mission"
"ficus/proto" "ficus/dto/proto"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/mqcontrol" "ficus_clientserver/mqcontrol"
"fmt" "fmt"
......
...@@ -2,7 +2,7 @@ package model ...@@ -2,7 +2,7 @@ package model
import ( import (
"encoding/json" "encoding/json"
"ficus/mission" "ficus/dto/mission"
"ficus_clientserver/config" "ficus_clientserver/config"
"fmt" "fmt"
"time" "time"
......
...@@ -2,14 +2,14 @@ package nethandle ...@@ -2,14 +2,14 @@ package nethandle
import ( import (
"context" "context"
"ficus/device" deviceservice "ficus/device"
"ficus/identity" device "ficus/dto/device"
"ficus/service" "ficus/dto/identity"
) )
type ( type (
DeviceHandler interface { DeviceHandler interface {
service.DeviceService deviceservice.DeviceService
SetDispatch() error SetDispatch() error
} }
...@@ -89,27 +89,27 @@ func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device. ...@@ -89,27 +89,27 @@ func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device.
return return
} }
func (d *DeviceHandle) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListExpired(ctx context.Context, seconds int32, ip string) (r *service.DevicesPage, err error) { func (d *DeviceHandle) ListExpired(ctx context.Context, seconds int32, ip string) (r *device.DevicesPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return return
} }
...@@ -117,7 +117,7 @@ func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int ...@@ -117,7 +117,7 @@ func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int
// - Filter // - Filter
// - Page // - Page
// - PageSize // - PageSize
func (d *DeviceHandle) ListDevicesEx(ctx context.Context, filter *service.DeviceFilter, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListDevicesEx(ctx context.Context, filter *device.DeviceFilter, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return return
} }
......
...@@ -2,9 +2,9 @@ package nethandle ...@@ -2,9 +2,9 @@ package nethandle
import ( import (
"context" "context"
"ficus/device" dispatchservice "ficus/dispatch"
"ficus/mission" "ficus/dto/device"
"ficus/service" "ficus/dto/mission"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/model" "ficus_clientserver/model"
"ficus_clientserver/tool" "ficus_clientserver/tool"
...@@ -14,7 +14,7 @@ import ( ...@@ -14,7 +14,7 @@ import (
type ( type (
DispatchHandler interface { DispatchHandler interface {
service.DispatchService dispatchservice.DispatchService
SetDispatch() error SetDispatch() error
} }
......
...@@ -2,13 +2,13 @@ package nethandle ...@@ -2,13 +2,13 @@ package nethandle
import ( import (
"context" "context"
"ficus/pkg" "ficus/dto/pkg"
"ficus/service" pkgservice "ficus/pkg"
) )
type ( type (
PackageHandler interface { PackageHandler interface {
service.PackageService pkgservice.PackageService
SetDispatch() error SetDispatch() error
} }
PackageHandle struct { PackageHandle struct {
...@@ -27,8 +27,8 @@ func (p *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string) ...@@ -27,8 +27,8 @@ func (p *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
return p.PackageHandler.GetSpec(ctx, pkgName, ver) return p.PackageHandler.GetSpec(ctx, pkgName, ver)
} }
func (p *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ver string, partnerId string) (r *pkg.PackageSpec, err error) { func (p *PackageHandle) GetSpecByFilter(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageResult_, err error) {
return p.PackageHandler.GetSpecByPartner(ctx, pkgName, ver, partnerId) return p.PackageHandler.GetSpecByFilter(ctx, filter)
} }
// Parameters: // Parameters:
...@@ -37,13 +37,13 @@ func (p *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ve ...@@ -37,13 +37,13 @@ func (p *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ve
// - Timeout // - Timeout
// - UploadSpec // - UploadSpec
// - Content // - Content
func (p *PackageHandle) Upload(ctx context.Context, sessionId string, partnerId string, timeout int32, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadSpec, err error) { func (p *PackageHandle) Upload(ctx context.Context, filter *pkg.PackageFilter, sessionId string, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadResult_, err error) {
return return
} }
// Parameters: // Parameters:
// - SessionId // - SessionId
func (p *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.PackageSpec, err error) { func (p *PackageHandle) Pack(ctx context.Context, filter *pkg.PackageFilter, releaseNote string) (r *pkg.PackageResult_, err error) {
return return
} }
...@@ -51,7 +51,8 @@ func (p *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.Pack ...@@ -51,7 +51,8 @@ func (p *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.Pack
// - PartnerId // - PartnerId
// - Page // - Page
// - PageSize // - PageSize
func (p *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, page int32, pageSize int32) (r *service.PackagesPage, err error) {
func (p *PackageHandle) ListPackages(ctx context.Context, filter *pkg.PackageFilter, page int32, pageSize int32) (r *pkg.PackagesPage, err error) {
return return
} }
...@@ -59,7 +60,41 @@ func (p *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, pag ...@@ -59,7 +60,41 @@ func (p *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, pag
// - Name // - Name
// - Ver // - Ver
// - Enabled // - Enabled
func (p *PackageHandle) EnablePackage(ctx context.Context, name string, ver string, enabled bool) (r bool, err error) { func (p *PackageHandle) EnablePackage(ctx context.Context, filter *pkg.PackageFilter, enabled bool) (r bool, err error) {
return
}
// Parameters:
// - Filter
func (p *PackageHandle) RemovePackage(ctx context.Context, filter *pkg.PackageFilter) (r bool, err error) {
return
}
// Parameters:
// - Filter
func (p *PackageHandle) GetEntry(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageEntryResult_, err error) {
return
}
// Parameters:
// - Filter
// - PkgEntry
func (p *PackageHandle) CreateEntry(ctx context.Context, filter *pkg.PackageFilter, pkgEntry *pkg.PackageEntry) (r *pkg.PackageEntryResult_, err error) {
return
}
// Parameters:
// - Filter
// - Src
// - Dst
func (p *PackageHandle) RenameEntry(ctx context.Context, filter *pkg.PackageFilter, src string, dst string) (r string, err error) {
return
}
// Parameters:
// - Filter
// - EntryName
func (p *PackageHandle) RemoveEntry(ctx context.Context, filter *pkg.PackageFilter, entryName string) (r bool, err error) {
return return
} }
......
...@@ -3,8 +3,8 @@ package nethandle ...@@ -3,8 +3,8 @@ package nethandle
import ( import (
"context" "context"
"errors" "errors"
"ficus/mission" "ficus/dto/mission"
"ficus/native/service" scheduleservice "ficus/schedule"
"ficus_clientserver/model" "ficus_clientserver/model"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
...@@ -12,7 +12,7 @@ import ( ...@@ -12,7 +12,7 @@ import (
type ( type (
ScheduleHandler interface { ScheduleHandler interface {
service.ScheduleService scheduleservice.ScheduleService
} }
ScheduleHandle struct { ScheduleHandle struct {
...@@ -32,7 +32,8 @@ func NewScheduleHandle(m *model.MsgControl, c *model.ClientManager, s ScheduleHa ...@@ -32,7 +32,8 @@ func NewScheduleHandle(m *model.MsgControl, c *model.ClientManager, s ScheduleHa
} }
func (s *ScheduleHandle) Schedule(ctx context.Context, request *mission.Message) (r bool, err error) { func (s *ScheduleHandle) Schedule(ctx context.Context, request *mission.Message) (r bool, err error) {
//log.Info("Schedule", request) log.Info("Schedule", request)
log.Info("m.data", request.Data)
if !s.clientManager.IsKey(request.Device) { if !s.clientManager.IsKey(request.Device) {
return false, errors.New("机器不在线") return false, errors.New("机器不在线")
} }
......
...@@ -2,9 +2,9 @@ package thriftservice ...@@ -2,9 +2,9 @@ package thriftservice
import ( import (
"context" "context"
"ficus/device" deviceservice "ficus/device"
"ficus/identity" "ficus/dto/device"
"ficus/service" "ficus/dto/identity"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/tool" "ficus_clientserver/tool"
"net" "net"
...@@ -16,7 +16,7 @@ import ( ...@@ -16,7 +16,7 @@ import (
// DeviceDispatch 设备服务client // DeviceDispatch 设备服务client
// ip ,port 分别为设备服务的地址和端口 // ip ,port 分别为设备服务的地址和端口
type DeviceDispatch struct { type DeviceDispatch struct {
client *service.DeviceServiceClient client *deviceservice.DeviceServiceClient
tran *thrift.TFramedTransport tran *thrift.TFramedTransport
} }
...@@ -84,33 +84,33 @@ func (d *DeviceDispatch) GetDeviceEx(ctx context.Context, uuid string) (r *devic ...@@ -84,33 +84,33 @@ func (d *DeviceDispatch) GetDeviceEx(ctx context.Context, uuid string) (r *devic
return return
} }
func (d *DeviceDispatch) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
defer d.tran.Close() defer d.tran.Close()
return nil, nil return nil, nil
} }
func (d *DeviceDispatch) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
defer d.tran.Close() defer d.tran.Close()
return nil, nil return nil, nil
} }
func (d *DeviceDispatch) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
defer d.tran.Close() defer d.tran.Close()
return nil, nil return nil, nil
} }
func (d *DeviceDispatch) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
defer d.tran.Close() defer d.tran.Close()
return nil, nil return nil, nil
} }
func (d *DeviceDispatch) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
defer d.tran.Close() defer d.tran.Close()
return return
} }
// 获取空闲设备 // 获取空闲设备
func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip string) (r *service.DevicesPage, err error) { func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip string) (r *device.DevicesPage, err error) {
defer d.tran.Close() defer d.tran.Close()
r, err = d.client.ListExpired(ctx, seconds, ip) r, err = d.client.ListExpired(ctx, seconds, ip)
log.Info("dispatch ListExpired", err, seconds, ip) log.Info("dispatch ListExpired", err, seconds, ip)
...@@ -121,7 +121,7 @@ func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip stri ...@@ -121,7 +121,7 @@ func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip stri
// - Filter // - Filter
// - Page // - Page
// - PageSize // - PageSize
func (d *DeviceDispatch) ListDevicesEx(ctx context.Context, filter *service.DeviceFilter, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceDispatch) ListDevicesEx(ctx context.Context, filter *device.DeviceFilter, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return return
} }
...@@ -152,7 +152,7 @@ func (d *DeviceDispatch) SetDispatch() error { ...@@ -152,7 +152,7 @@ func (d *DeviceDispatch) SetDispatch() error {
log.Error("Error opening socket to "+"localhost"+":"+"9099", err) log.Error("Error opening socket to "+"localhost"+":"+"9099", err)
return err return err
} }
client := service.NewDeviceServiceClientFactory(transport, protocolFactory) client := deviceservice.NewDeviceServiceClientFactory(transport, protocolFactory)
d.tran = transport d.tran = transport
d.client = client d.client = client
return nil return nil
......
...@@ -2,9 +2,8 @@ package thriftservice ...@@ -2,9 +2,8 @@ package thriftservice
import ( import (
"context" "context"
"ficus/device" "ficus/dto/device"
"ficus/identity" "ficus/dto/identity"
"ficus/service"
"ficus_clientserver/nethandle" "ficus_clientserver/nethandle"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
...@@ -68,26 +67,26 @@ func (d *DeviceHandle) GetPeer(ctx context.Context, uuid string) (r string, err ...@@ -68,26 +67,26 @@ func (d *DeviceHandle) GetPeer(ctx context.Context, uuid string) (r string, err
//TODO 获取server ip //TODO 获取server ip
return "", nil return "", nil
} }
func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return return
} }
func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device.DeviceEx, err error) { func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device.DeviceEx, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByStatusEx(ctx context.Context, status int32, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByOrganizationEx(ctx context.Context, org *identity.Organization, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListExpired(ctx context.Context, seconds int32, ip string) (r *service.DevicesPage, err error) { func (d *DeviceHandle) ListExpired(ctx context.Context, seconds int32, ip string) (r *device.DevicesPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByGroupEx(ctx context.Context, group string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return nil, nil return nil, nil
} }
...@@ -95,7 +94,7 @@ func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int3 ...@@ -95,7 +94,7 @@ func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int3
// - Filter // - Filter
// - Page // - Page
// - PageSize // - PageSize
func (d *DeviceHandle) ListDevicesEx(ctx context.Context, filter *service.DeviceFilter, page int32, pageSize int32) (r *service.DevicesExPage, err error) { func (d *DeviceHandle) ListDevicesEx(ctx context.Context, filter *device.DeviceFilter, page int32, pageSize int32) (r *device.DevicesExPage, err error) {
return return
} }
......
...@@ -2,9 +2,9 @@ package thriftservice ...@@ -2,9 +2,9 @@ package thriftservice
import ( import (
"context" "context"
"ficus/device" dispatchservice "ficus/dispatch"
"ficus/mission" "ficus/dto/device"
"ficus/service" "ficus/dto/mission"
"ficus_clientserver/model" "ficus_clientserver/model"
"ficus_clientserver/nethandle" "ficus_clientserver/nethandle"
...@@ -64,6 +64,6 @@ func NewMyTProcessorFactory(clientManager *model.ClientManager, msgControl *mode ...@@ -64,6 +64,6 @@ func NewMyTProcessorFactory(clientManager *model.ClientManager, msgControl *mode
func (p *myProcessorFactory) GetProcessor(trans thrift.TTransport) thrift.TProcessor { func (p *myProcessorFactory) GetProcessor(trans thrift.TTransport) thrift.TProcessor {
// 在这里创建 handler 主要是为了保存 ttransport,以便双向通信 // 在这里创建 handler 主要是为了保存 ttransport,以便双向通信
handler := NewDispatchService(trans, p.clientManager, p.msgControl) handler := NewDispatchService(trans, p.clientManager, p.msgControl)
processor := service.NewDispatchServiceProcessor(handler) processor := dispatchservice.NewDispatchServiceProcessor(handler)
return processor return processor
} }
...@@ -3,9 +3,9 @@ package thriftservice ...@@ -3,9 +3,9 @@ package thriftservice
import ( import (
"context" "context"
"errors" "errors"
"ficus/device" dispatchservice "ficus/dispatch"
"ficus/mission" "ficus/dto/device"
"ficus/service" "ficus/dto/mission"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/model" "ficus_clientserver/model"
"ficus_clientserver/tool" "ficus_clientserver/tool"
...@@ -19,14 +19,14 @@ type DispatchMsg struct { ...@@ -19,14 +19,14 @@ type DispatchMsg struct {
trans thrift.TTransport trans thrift.TTransport
clientManager *model.ClientManager clientManager *model.ClientManager
msgControl *model.MsgControl msgControl *model.MsgControl
callbackClient *service.DispatchServiceClient callbackClient *dispatchservice.DispatchServiceClient
} }
func NewDispatchMsgTrans(trans thrift.TTransport) *DispatchMsg { func NewDispatchMsgTrans(trans thrift.TTransport) *DispatchMsg {
d := &DispatchMsg{} d := &DispatchMsg{}
d.trans = trans d.trans = trans
d.callbackClient = service.NewDispatchServiceClientFactory(thrift.NewTFramedTransport(trans), thrift.NewTCompactProtocolFactory()) d.callbackClient = dispatchservice.NewDispatchServiceClientFactory(thrift.NewTFramedTransport(trans), thrift.NewTCompactProtocolFactory())
return d return d
} }
...@@ -35,7 +35,7 @@ func NewDispatchMsg(trans thrift.TTransport, clientManager *model.ClientManager, ...@@ -35,7 +35,7 @@ func NewDispatchMsg(trans thrift.TTransport, clientManager *model.ClientManager,
d.clientManager = clientManager d.clientManager = clientManager
d.msgControl = msgControl d.msgControl = msgControl
d.trans = trans d.trans = trans
d.callbackClient = service.NewDispatchServiceClientFactory(thrift.NewTFramedTransport(trans), thrift.NewTCompactProtocolFactory()) d.callbackClient = dispatchservice.NewDispatchServiceClientFactory(thrift.NewTFramedTransport(trans), thrift.NewTCompactProtocolFactory())
return d return d
} }
...@@ -81,7 +81,7 @@ func (d *DispatchMsg) Feedback(ctx context.Context, response *mission.Message) ( ...@@ -81,7 +81,7 @@ func (d *DispatchMsg) Feedback(ctx context.Context, response *mission.Message) (
return false, err return false, err
} }
defer transport.Close() defer transport.Close()
client := service.NewDispatchServiceClientFactory(transport, protocolFactory) client := dispatchservice.NewDispatchServiceClientFactory(transport, protocolFactory)
r, err = client.Feedback(context.Background(), response) r, err = client.Feedback(context.Background(), response)
log.Infoln("dispatch Feedback result ", r, err, response) log.Infoln("dispatch Feedback result ", r, err, response)
return return
......
...@@ -2,8 +2,7 @@ package thriftservice ...@@ -2,8 +2,7 @@ package thriftservice
import ( import (
"context" "context"
"ficus/pkg" "ficus/dto/pkg"
"ficus/service"
"ficus_clientserver/FileController" "ficus_clientserver/FileController"
"ficus_clientserver/nethandle" "ficus_clientserver/nethandle"
...@@ -35,24 +34,56 @@ func (s *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string) ...@@ -35,24 +34,56 @@ func (s *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
return PackageHandler.GetSpec(ctx, pkgName, ver) return PackageHandler.GetSpec(ctx, pkgName, ver)
} }
func (s *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ver string, partnerId string) (r *pkg.PackageSpec, err error) { func (s *PackageHandle) GetSpecByFilter(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageResult_, err error) {
PackageHandler := nethandle.NewPackageHandle(NewPackageDispatch()) PackageHandler := nethandle.NewPackageHandle(NewPackageDispatch())
return PackageHandler.GetSpecByPartner(ctx, pkgName, ver, partnerId) return PackageHandler.GetSpecByFilter(ctx, filter)
} }
func (s *PackageHandle) Upload(ctx context.Context, sessionId string, partnerId string, timeout int32, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadSpec, err error) { func (s *PackageHandle) Upload(ctx context.Context, filter *pkg.PackageFilter, sessionId string, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadResult_, err error) {
return return
} }
func (s *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.PackageSpec, err error) { func (s *PackageHandle) Pack(ctx context.Context, filter *pkg.PackageFilter, releaseNote string) (r *pkg.PackageResult_, err error) {
return return
} }
func (s *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, page int32, pageSize int32) (r *service.PackagesPage, err error) { func (s *PackageHandle) ListPackages(ctx context.Context, filter *pkg.PackageFilter, page int32, pageSize int32) (r *pkg.PackagesPage, err error) {
return return
} }
func (s *PackageHandle) EnablePackage(ctx context.Context, name string, ver string, enabled bool) (r bool, err error) { func (s *PackageHandle) EnablePackage(ctx context.Context, filter *pkg.PackageFilter, enabled bool) (r bool, err error) {
return
}
func (p *PackageHandle) RemovePackage(ctx context.Context, filter *pkg.PackageFilter) (r bool, err error) {
return
}
// Parameters:
// - Filter
func (p *PackageHandle) GetEntry(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageEntryResult_, err error) {
return
}
// Parameters:
// - Filter
// - PkgEntry
func (p *PackageHandle) CreateEntry(ctx context.Context, filter *pkg.PackageFilter, pkgEntry *pkg.PackageEntry) (r *pkg.PackageEntryResult_, err error) {
return
}
// Parameters:
// - Filter
// - Src
// - Dst
func (p *PackageHandle) RenameEntry(ctx context.Context, filter *pkg.PackageFilter, src string, dst string) (r string, err error) {
return
}
// Parameters:
// - Filter
// - EntryName
func (p *PackageHandle) RemoveEntry(ctx context.Context, filter *pkg.PackageFilter, entryName string) (r bool, err error) {
return return
} }
...@@ -70,33 +101,65 @@ func (s *PackageDispatch) GetSpec(ctx context.Context, pkgName string, ver strin ...@@ -70,33 +101,65 @@ func (s *PackageDispatch) GetSpec(ctx context.Context, pkgName string, ver strin
return return
} }
func (s *PackageDispatch) GetSpecByPartner(ctx context.Context, pkgName string, ver string, partnerId string) (r *pkg.PackageSpec, err error) { func (s *PackageDispatch) GetSpecByFilter(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageResult_, err error) {
log.Info("GetSpecByPartner", pkgName, ver) // log.Info("GetSpecByFilter ", filter)
fcos := FileController.NewOss() // fcos := FileController.NewOss()
md5, url := fcos.GetFileInfo(pkgName) // md5, url := fcos.GetFileInfo(pkgName)
r = pkg.NewPackageSpec() // r = pkg.NewPackageSpec()
r.Pkg = pkg.NewPackage() // r.Pkg = pkg.NewPackage()
r.Pkg.Name = pkgName // r.Pkg.Name = pkgName
r.Pkg.Version = ver // r.Pkg.Version = ver
r.Pkg.PartnerId = partnerId // r.Pkg.PartnerId = partnerId
r.Md5 = md5 // r.Md5 = md5
r.URL = url // r.URL = url
return
}
func (s *PackageDispatch) Upload(ctx context.Context, filter *pkg.PackageFilter, sessionId string, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadResult_, err error) {
return
}
func (s *PackageDispatch) Pack(ctx context.Context, filter *pkg.PackageFilter, releaseNote string) (r *pkg.PackageResult_, err error) {
return
}
func (s *PackageDispatch) ListPackages(ctx context.Context, filter *pkg.PackageFilter, page int32, pageSize int32) (r *pkg.PackagesPage, err error) {
return
}
func (s *PackageDispatch) EnablePackage(ctx context.Context, filter *pkg.PackageFilter, enabled bool) (r bool, err error) {
return
}
func (p *PackageDispatch) RemovePackage(ctx context.Context, filter *pkg.PackageFilter) (r bool, err error) {
return return
} }
func (s *PackageDispatch) Upload(ctx context.Context, sessionId string, partnerId string, timeout int32, uploadSpec *pkg.UploadSpec, content []byte) (r *pkg.UploadSpec, err error) { // Parameters:
// - Filter
func (p *PackageDispatch) GetEntry(ctx context.Context, filter *pkg.PackageFilter) (r *pkg.PackageEntryResult_, err error) {
return return
} }
func (s *PackageDispatch) Pack(ctx context.Context, sessionId string) (r *pkg.PackageSpec, err error) { // Parameters:
// - Filter
// - PkgEntry
func (p *PackageDispatch) CreateEntry(ctx context.Context, filter *pkg.PackageFilter, pkgEntry *pkg.PackageEntry) (r *pkg.PackageEntryResult_, err error) {
return return
} }
func (s *PackageDispatch) ListPackageEx(ctx context.Context, partnerId string, page int32, pageSize int32) (r *service.PackagesPage, err error) { // Parameters:
// - Filter
// - Src
// - Dst
func (p *PackageDispatch) RenameEntry(ctx context.Context, filter *pkg.PackageFilter, src string, dst string) (r string, err error) {
return return
} }
func (s *PackageDispatch) EnablePackage(ctx context.Context, name string, ver string, enabled bool) (r bool, err error) { // Parameters:
// - Filter
// - EntryName
func (p *PackageDispatch) RemoveEntry(ctx context.Context, filter *pkg.PackageFilter, entryName string) (r bool, err error) {
return return
} }
......
...@@ -2,7 +2,7 @@ package thriftservice ...@@ -2,7 +2,7 @@ package thriftservice
import ( import (
"context" "context"
"ficus/mission" "ficus/dto/mission"
"ficus_clientserver/model" "ficus_clientserver/model"
"ficus_clientserver/nethandle" "ficus_clientserver/nethandle"
......
...@@ -3,11 +3,13 @@ package main ...@@ -3,11 +3,13 @@ package main
import ( import (
"bufio" "bufio"
"context" "context"
"ficus/device" deviceservice "ficus/device"
"ficus/mission" dispatchservice "ficus/dispatch"
native "ficus/native/service" "ficus/dto/device"
"ficus/proto" "ficus/dto/mission"
"ficus/service" "ficus/dto/proto"
pkgservice "ficus/pkg"
scheduleservice "ficus/schedule"
"ficus_clientserver/config" "ficus_clientserver/config"
"ficus_clientserver/control" "ficus_clientserver/control"
"ficus_clientserver/model" "ficus_clientserver/model"
...@@ -15,6 +17,7 @@ import ( ...@@ -15,6 +17,7 @@ import (
"ficus_clientserver/nethandle/thriftservice" "ficus_clientserver/nethandle/thriftservice"
"ficus_clientserver/tool" "ficus_clientserver/tool"
"fmt" "fmt"
"net/http"
"os" "os"
"os/exec" "os/exec"
"runtime/debug" "runtime/debug"
...@@ -127,6 +130,7 @@ func StartThrift() { ...@@ -127,6 +130,7 @@ func StartThrift() {
go StartThriftSever1() go StartThriftSever1()
go StartThriftSever2() go StartThriftSever2()
go StartClientHeartWork() go StartClientHeartWork()
go StartHttpServer()
} }
// StartClientHeartWork 开始循环心跳工作 // StartClientHeartWork 开始循环心跳工作
...@@ -223,16 +227,16 @@ func StartThriftSever2() { ...@@ -223,16 +227,16 @@ func StartThriftSever2() {
TMultiplexedProcessor := thrift.NewTMultiplexedProcessor() TMultiplexedProcessor := thrift.NewTMultiplexedProcessor()
deviceHandle := thriftservice.NewDeviceHandle() deviceHandle := thriftservice.NewDeviceHandle()
deviceProcessor := service.NewDeviceServiceProcessor(deviceHandle) deviceProcessor := deviceservice.NewDeviceServiceProcessor(deviceHandle)
dispatchHandle := thriftservice.NewDispatchService(nil, ClientManager, MsgControl) dispatchHandle := thriftservice.NewDispatchService(nil, ClientManager, MsgControl)
dispatchProcessor := service.NewDispatchServiceProcessor(dispatchHandle) dispatchProcessor := dispatchservice.NewDispatchServiceProcessor(dispatchHandle)
scheduleHandle := thriftservice.NewScheduleHandle(MsgControl, ClientManager) scheduleHandle := thriftservice.NewScheduleHandle(MsgControl, ClientManager)
scheduleProcessor := native.NewScheduleServiceProcessor(scheduleHandle) scheduleProcessor := scheduleservice.NewScheduleServiceProcessor(scheduleHandle)
packageHandle := thriftservice.NewPackageHandle() packageHandle := thriftservice.NewPackageHandle()
packageProcessor := service.NewPackageServiceProcessor(packageHandle) packageProcessor := pkgservice.NewPackageServiceProcessor(packageHandle)
TMultiplexedProcessor.RegisterProcessor("Identity", deviceProcessor) TMultiplexedProcessor.RegisterProcessor("Identity", deviceProcessor)
TMultiplexedProcessor.RegisterProcessor("Mission", dispatchProcessor) TMultiplexedProcessor.RegisterProcessor("Mission", dispatchProcessor)
...@@ -249,3 +253,25 @@ func StartThriftSever2() { ...@@ -249,3 +253,25 @@ func StartThriftSever2() {
log.Panicln(err) log.Panicln(err)
} }
} }
func StartHttpServer() {
scheduleHandle := thriftservice.NewScheduleHandle(MsgControl, ClientManager)
scheduleProcessor := scheduleservice.NewScheduleServiceProcessor(scheduleHandle)
scheduleProtocolFactory := thrift.NewTJSONProtocolFactory()
scheduleHandler := thrift.NewThriftHandlerFunc(scheduleProcessor, scheduleProtocolFactory, scheduleProtocolFactory)
mux := http.NewServeMux()
mux.HandleFunc("/schedule", MiddleHandle(http.HandlerFunc(scheduleHandler)))
log.Println("thrift http server in", config.GetHttpServerPort())
http.ListenAndServe(config.GetHttpServerPort(), mux)
}
func MiddleHandle(next http.Handler) http.HandlerFunc {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域
w.Header().Set("Access-Control-Allow-Headers", "*")
//w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的类型
w.Header().Set("content-type", "application/json") //返回数据格式是json
w.Header().Set("Access-Control-Allow-Methods", "*")
next.ServeHTTP(w, r)
})
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment