ing
This commit is contained in:
parent
7daa9dad65
commit
37f2a908f5
29
config.json
Normal file
29
config.json
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"serverHandler": {
|
||||
"name": "Member Gateway REST",
|
||||
"network": "tcp4",
|
||||
"address": ":19080",
|
||||
"concurrency": 262144,
|
||||
"keepAlive": 60,
|
||||
"handshakeTimeout": 60,
|
||||
"maxMessageSize": 8192,
|
||||
"readBufferSize": 1024,
|
||||
"writeBufferSize": 1024,
|
||||
"readTimeout": 0,
|
||||
"writeTimeout": 0,
|
||||
"pongTimeout": 60,
|
||||
"pingTimeout": 10,
|
||||
"pingPeriod": 10,
|
||||
"enableCompression": false
|
||||
},
|
||||
"external": {
|
||||
"grpc": {
|
||||
"network": "tcp4",
|
||||
"address": "192.168.1.50:50006"
|
||||
},
|
||||
"redis": {
|
||||
"network": "tcp4",
|
||||
"address": "192.168.1.50:6379"
|
||||
}
|
||||
}
|
||||
}
|
11
config/config.go
Normal file
11
config/config.go
Normal file
|
@ -0,0 +1,11 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
occe "git.loafle.net/overflow/commons-go/config/external"
|
||||
ogrs "git.loafle.net/overflow/gateway_rest/server"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
ServerHandler *ogrs.ServerHandlers `json:"serverHandler"`
|
||||
External *occe.External `json:"external"`
|
||||
}
|
|
@ -7,3 +7,5 @@ import:
|
|||
version: ^1.11.2
|
||||
- package: git.loafle.net/overflow/gateway_rest
|
||||
- package: git.loafle.net/overflow/gateway
|
||||
- package: git.loafle.net/commons/di-go
|
||||
- package: git.loafle.net/overflow/commons-go
|
||||
|
|
27
main.go
27
main.go
|
@ -2,22 +2,45 @@ package main
|
|||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"git.loafle.net/commons/configuration-go"
|
||||
"git.loafle.net/commons/logging-go"
|
||||
"git.loafle.net/overflow/member_gateway_rest/config"
|
||||
"git.loafle.net/overflow/member_gateway_rest/server"
|
||||
"git.loafle.net/overflow/member_gateway_rest/service"
|
||||
)
|
||||
|
||||
var (
|
||||
configDir *string
|
||||
)
|
||||
|
||||
func init() {
|
||||
logging.InitializeLogger("")
|
||||
configDir = flag.String("config-dir", "./", "Config directory")
|
||||
logConfigPath := flag.String("log-config", "", "logging config path")
|
||||
flag.Parse()
|
||||
|
||||
logging.InitializeLogger(*logConfigPath)
|
||||
}
|
||||
|
||||
func main() {
|
||||
s := server.NewServer()
|
||||
_config := &config.Config{}
|
||||
configuration.SetConfigPath(*configDir)
|
||||
if err := configuration.Load(_config, "config.json"); nil != err {
|
||||
logging.Logger().Panic(err)
|
||||
}
|
||||
|
||||
service.InitPackage()
|
||||
defer func() {
|
||||
service.DestroyPackage()
|
||||
}()
|
||||
|
||||
s := server.NewServer(_config)
|
||||
|
||||
go func() {
|
||||
err := s.ListenAndServe()
|
||||
|
|
51
overFlow-private.key
Normal file
51
overFlow-private.key
Normal file
|
@ -0,0 +1,51 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
14
overFlow-public.pem
Normal file
14
overFlow-public.pem
Normal file
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsmcQLI5ZQQThoePzL4dT
|
||||
wuAxqGPIfNCqTirQxZesyXTOEX3oQFLkd3s6dNHmFQIj1jVsFXDML5wRvv7YeI4a
|
||||
9wOrH+QR62KEzB6aT/yxSsVhNrLxkQ35Xd9keGmfyMRNr72iiP8Hrm+7O0x2vlGU
|
||||
Qp8+jMCzDVNlFvE5V9iqjSv4Q/AHrURg5fH8JBIMZnhcz/kmNgWg2NByTFDiQXRj
|
||||
wBY5ts4Ylk8mZdAuumyiseXjE4l2JxdJJyRGqbx70wrC76MgTUvXEyw3MPSDGvN6
|
||||
7PFYIJJwq5VpRNHeBMkNoPRWX6eE9M1VNY+/rXuUGdg2ZxBzykAUjhjR9Iq/hawP
|
||||
ZR78TaJ/w5wCVb7L6xIDqXb2JqhlFA4LHZmiDcR/m9Y2wI1DJkBeZpdxF1m19d5s
|
||||
xs3vNNKzNVquKEz1QBfKnLvPxBXKpUT+zliCdzu1D/VU+veqDtKI8dmmGflc5lXe
|
||||
DUYfPc7Kt4XLEZDSTBQlMgtkgE94ZcCJu6zdM3DrjPTh9OP5sG+/B5/KRYqZb4Yp
|
||||
PGQ0TkXCaJjBtBEOM1FTk9/uhU/9b6lFbgc/quCkmz8Vxe5sJ98tXMi/F5q5n8ba
|
||||
90AKaLUUwhTAxWV69NXweYtIMtKIj7AuI7IuK64iIyW+CE6BAl0QOlMtgF2/EqKW
|
||||
ltvmbYpb+YgWOYJwa8F8pj0CAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
|
@ -1,13 +1,49 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
cgrs "git.loafle.net/overflow/gateway_rest/server"
|
||||
cs "git.loafle.net/commons/server-go"
|
||||
oge "git.loafle.net/overflow/gateway/external"
|
||||
ogrs "git.loafle.net/overflow/gateway_rest/server"
|
||||
"git.loafle.net/overflow/member_gateway_rest/config"
|
||||
)
|
||||
|
||||
type ServerHandler interface {
|
||||
cgrs.ServerHandler
|
||||
ogrs.ServerHandler
|
||||
}
|
||||
|
||||
type ServerHandlers struct {
|
||||
cgrs.ServerHandlers
|
||||
ogrs.ServerHandlers
|
||||
|
||||
Config *config.Config
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Init(serverCtx cs.ServerCtx) error {
|
||||
if err := sh.ServerHandlers.Init(serverCtx); nil != err {
|
||||
return err
|
||||
}
|
||||
oge.InitPackage(sh.Config.External)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnStart(serverCtx cs.ServerCtx) error {
|
||||
if err := sh.ServerHandlers.OnStart(serverCtx); nil != err {
|
||||
return err
|
||||
}
|
||||
|
||||
oge.StartPackage(sh.Config.External)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnStop(serverCtx cs.ServerCtx) {
|
||||
oge.StopPackage(sh.Config.External)
|
||||
|
||||
sh.ServerHandlers.OnStop(serverCtx)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Destroy(serverCtx cs.ServerCtx) {
|
||||
oge.DestroyPackage(sh.Config.External)
|
||||
|
||||
sh.ServerHandlers.Destroy(serverCtx)
|
||||
}
|
||||
|
|
|
@ -1,28 +1,40 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
logging "git.loafle.net/commons/logging-go"
|
||||
cdr "git.loafle.net/commons/di-go/registry"
|
||||
"git.loafle.net/commons/logging-go"
|
||||
crpj "git.loafle.net/commons/rpc-go/protocol/json"
|
||||
crr "git.loafle.net/commons/rpc-go/registry"
|
||||
cswf "git.loafle.net/commons/server-go/web/fasthttp"
|
||||
"git.loafle.net/overflow/member_gateway_rest/service"
|
||||
oca "git.loafle.net/overflow/commons-go/annotation"
|
||||
"git.loafle.net/overflow/member_gateway_rest/config"
|
||||
"git.loafle.net/overflow/member_gateway_rest/servlet"
|
||||
)
|
||||
|
||||
func NewServer() *cswf.Server {
|
||||
func NewServer(_config *config.Config) *cswf.Server {
|
||||
serverCodec := crpj.NewServerCodec()
|
||||
rpcRegistry := crr.NewRPCRegistry()
|
||||
|
||||
ms := &service.MemberService{}
|
||||
if err := rpcRegistry.RegisterService(ms, ""); nil != err {
|
||||
logging.Logger().Error(err)
|
||||
services, err := cdr.GetInstancesByAnnotationType(oca.ServiceAnnotationType)
|
||||
if nil != err {
|
||||
logging.Logger().Panic(err)
|
||||
}
|
||||
|
||||
for _, _service := range services {
|
||||
if err := rpcRegistry.RegisterService(_service, ""); nil != err {
|
||||
logging.Logger().Panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
webappS := &servlet.WebappServlets{}
|
||||
webappS.ServerCodec = serverCodec
|
||||
webappS.RPCInvoker = rpcRegistry
|
||||
|
||||
sh := &ServerHandlers{}
|
||||
sh := &ServerHandlers{
|
||||
ServerHandlers: *_config.ServerHandler,
|
||||
Config: _config,
|
||||
}
|
||||
|
||||
sh.RegisterServlet("/webapp", webappS)
|
||||
|
||||
s := &cswf.Server{
|
||||
|
|
|
@ -2,13 +2,24 @@ package service
|
|||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
cda "git.loafle.net/commons/di-go/annotation"
|
||||
cdr "git.loafle.net/commons/di-go/registry"
|
||||
"git.loafle.net/commons/server-go"
|
||||
_ "git.loafle.net/overflow/commons-go/annotation"
|
||||
"git.loafle.net/overflow/gateway/external/grpc"
|
||||
"github.com/valyala/fasthttp"
|
||||
)
|
||||
|
||||
var MemberServiceType = reflect.TypeOf((*MemberService)(nil))
|
||||
|
||||
func init() {
|
||||
cdr.RegisterType(MemberServiceType)
|
||||
}
|
||||
|
||||
type MemberService struct {
|
||||
cda.TypeAnnotation `annotation:"@overflow:Service()"`
|
||||
}
|
||||
|
||||
func (ms *MemberService) Signin(servletCtx server.ServletCtx, ctx *fasthttp.RequestCtx, id string, pw string) (string, error) {
|
||||
|
|
13
service/service.go
Normal file
13
service/service.go
Normal file
|
@ -0,0 +1,13 @@
|
|||
package service
|
||||
|
||||
func InitPackage() {
|
||||
}
|
||||
|
||||
func StartPackage() {
|
||||
}
|
||||
|
||||
func StopPackage() {
|
||||
}
|
||||
|
||||
func DestroyPackage() {
|
||||
}
|
Loading…
Reference in New Issue
Block a user