mirror of
https://github.com/foomo/gotsrpc.git
synced 2025-10-16 12:35:35 +00:00
272 lines
7.1 KiB
Go
272 lines
7.1 KiB
Go
// Code generated by gotsrpc https://github.com/foomo/gotsrpc/v2 - DO NOT EDIT.
|
|
|
|
package service
|
|
|
|
import (
|
|
io "io"
|
|
http "net/http"
|
|
time "time"
|
|
|
|
gotsrpc "github.com/foomo/gotsrpc/v2"
|
|
)
|
|
|
|
const (
|
|
ServiceGoTSRPCProxyVariantA = "VariantA"
|
|
ServiceGoTSRPCProxyVariantB = "VariantB"
|
|
ServiceGoTSRPCProxyVariantC = "VariantC"
|
|
ServiceGoTSRPCProxyVariantD = "VariantD"
|
|
ServiceGoTSRPCProxyVariantE = "VariantE"
|
|
ServiceGoTSRPCProxyVariantF = "VariantF"
|
|
ServiceGoTSRPCProxyVariantG = "VariantG"
|
|
ServiceGoTSRPCProxyVariantH = "VariantH"
|
|
)
|
|
|
|
type ServiceGoTSRPCProxy struct {
|
|
EndPoint string
|
|
service Service
|
|
}
|
|
|
|
func NewDefaultServiceGoTSRPCProxy(service Service) *ServiceGoTSRPCProxy {
|
|
return NewServiceGoTSRPCProxy(service, "/service")
|
|
}
|
|
|
|
func NewServiceGoTSRPCProxy(service Service, endpoint string) *ServiceGoTSRPCProxy {
|
|
return &ServiceGoTSRPCProxy{
|
|
EndPoint: endpoint,
|
|
service: service,
|
|
}
|
|
}
|
|
|
|
// ServeHTTP exposes your service
|
|
func (p *ServiceGoTSRPCProxy) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
if r.Method == http.MethodOptions {
|
|
return
|
|
} else if r.Method != http.MethodPost {
|
|
gotsrpc.ErrorMethodNotAllowed(w)
|
|
return
|
|
}
|
|
defer io.Copy(io.Discard, r.Body) // Drain Request Body
|
|
|
|
funcName := gotsrpc.GetCalledFunc(r, p.EndPoint)
|
|
callStats, _ := gotsrpc.GetStatsForRequest(r)
|
|
callStats.Func = funcName
|
|
callStats.Package = "github.com/foomo/gotsrpc/v2/example/nullable/service"
|
|
callStats.Service = "Service"
|
|
switch funcName {
|
|
case ServiceGoTSRPCProxyVariantA:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 Base
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantAR1 := p.service.VariantA(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantAR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantB:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 BCustomType
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantBR1 := p.service.VariantB(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantBR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantC:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 BCustomTypes
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantCR1 := p.service.VariantC(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantCR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantD:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 BCustomTypesMap
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantDR1 := p.service.VariantD(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantDR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantE:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 *Base
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantER1 := p.service.VariantE(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantER1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantF:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 []*Base
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantFR1 := p.service.VariantF(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantFR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantG:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 map[string]*Base
|
|
)
|
|
args = []interface{}{&arg_i1}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantGR1 := p.service.VariantG(&rw, r, arg_i1)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantGR1}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
case ServiceGoTSRPCProxyVariantH:
|
|
var (
|
|
args []interface{}
|
|
rets []interface{}
|
|
)
|
|
var (
|
|
arg_i1 Base
|
|
arg_i2 *Base
|
|
arg_i3 []*Base
|
|
arg_i4 map[string]Base
|
|
)
|
|
args = []interface{}{&arg_i1, &arg_i2, &arg_i3, &arg_i4}
|
|
if err := gotsrpc.LoadArgs(&args, callStats, r); err != nil {
|
|
gotsrpc.ErrorCouldNotLoadArgs(w)
|
|
return
|
|
}
|
|
executionStart := time.Now()
|
|
rw := gotsrpc.ResponseWriter{ResponseWriter: w}
|
|
variantHR1, variantHR2, variantHR3, variantHR4 := p.service.VariantH(&rw, r, arg_i1, arg_i2, arg_i3, arg_i4)
|
|
callStats.Execution = time.Since(executionStart)
|
|
if rw.Status() == http.StatusOK {
|
|
rets = []interface{}{variantHR1, variantHR2, variantHR3, variantHR4}
|
|
if err := gotsrpc.Reply(rets, callStats, r, w); err != nil {
|
|
gotsrpc.ErrorCouldNotReply(w)
|
|
return
|
|
}
|
|
}
|
|
gotsrpc.Monitor(w, r, args, rets, callStats)
|
|
return
|
|
default:
|
|
gotsrpc.ClearStats(r)
|
|
gotsrpc.ErrorFuncNotFound(w)
|
|
}
|
|
}
|