initial import of sources

This commit is contained in:
2022-06-29 14:31:00 +02:00
commit d5e5fd3700
31 changed files with 2274 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
*~
*.bak
*.bin
*.png
*.gif
*.jpg
+25
View File
@@ -0,0 +1,25 @@
/*
*
* Copyright 2022 Oleg Borodin <borodin@unix7.org>
*
*/
package api
const HelloMethod string = "hello"
type HelloParams struct {
Message string `msgpack:"message" json:"message"`
}
func NewHelloParams() *HelloParams {
return &HelloParams{}
}
type HelloResult struct {
Message string `msgpack:"message" json:"message"`
}
func NewHelloResult() *HelloResult {
return &HelloResult{}
}
+7
View File
@@ -0,0 +1,7 @@
*~
*.bak
*.bin
*.png
*.gif
*.jpg
*cli
+38
View File
@@ -0,0 +1,38 @@
/*
*
* Copyright 2022 Oleg Borodin <borodin@unix7.org>
*
*/
package main
import (
"fmt"
"github.com/kindsoldier/dsrpc"
"netsrv/api"
)
func main() {
err := exec()
if err != nil {
fmt.Println("exec err:", err)
}
}
func exec() error {
var err error
params := api.NewHelloParams()
params.Message = "hello, server!"
result := api.NewHelloResult()
err = dsrpc.Exec("127.0.0.1:8081", api.HelloMethod, params, result, nil)
if err != nil {
return err
}
fmt.Println("result:", result.Message)
return err
}
+7
View File
@@ -0,0 +1,7 @@
module netsrv
go 1.17
require github.com/kindsoldier/dsrpc v0.0.1
replace github.com/kindsoldier/dsrpc => ../
+10
View File
@@ -0,0 +1,10 @@
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+7
View File
@@ -0,0 +1,7 @@
*~
*.bak
*.bin
*.png
*.gif
*.jpg
*srv
+68
View File
@@ -0,0 +1,68 @@
/*
*
* Copyright 2022 Oleg Borodin <borodin@unix7.org>
*
*/
package main
import (
"log"
"github.com/kindsoldier/dsrpc"
"netsrv/api"
)
func main() {
err := server()
if err != nil {
log.Println(err)
}
}
func server() error {
var err error
serv := dsrpc.NewService()
cont := NewController()
serv.Handler(api.HelloMethod, cont.HelloHandler)
serv.PreMiddleware(dsrpc.LogRequest)
serv.PostMiddleware(dsrpc.LogResponse)
serv.PostMiddleware(dsrpc.LogAccess)
err = serv.Listen(":8081")
if err != nil {
return err
}
return err
}
type Controller struct {
}
func NewController() *Controller {
return &Controller{}
}
func (cont *Controller) HelloHandler(context *dsrpc.Context) error {
var err error
params := api.NewHelloParams()
err = context.BindParams(params)
if err != nil {
return err
}
log.Println("hello message:", params.Message)
result := api.NewHelloResult()
result.Message = "hello!"
err = context.SendResult(result, 0)
if err != nil {
return err
}
return err
}