split generated server handler to http and grpc
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
@@ -188,3 +188,27 @@ func (x *{{$ServiceName | lowerFirst}}{{.Name}}Stream) Recv() (*{{$reqMethod}},
|
||||
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
|
||||
// Register{{$ServiceName}}Handler registers server handler
|
||||
func Register{{$ServiceName}}Handler(s micro_server.Server, sh {{$ServiceName}}Handler, opts ...micro_server.HandlerOption) error {
|
||||
type {{$ServiceName | lowerFirst}} interface {
|
||||
{{- range .Service.Method}}
|
||||
{{- $reqMethod := .InputType | splitArray "." | last}}
|
||||
{{- $rspMethod := .OutputType | splitArray "." | last}}
|
||||
{{- if or (.ServerStreaming) (.ClientStreaming)}}
|
||||
{{.Name}}(context.Context, micro_server.Stream) error
|
||||
{{- else}}
|
||||
{{.Name}}(context.Context, *{{$reqMethod}}, *{{$rspMethod}}) error
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
}
|
||||
type {{$ServiceName}} struct {
|
||||
{{$ServiceName | lowerFirst}}
|
||||
}
|
||||
h := &{{$ServiceName | lowerFirst}}Handler{sh}
|
||||
for _, endpoint := range New{{$ServiceName}}Endpoints() {
|
||||
opts = append(opts, micro_api.WithEndpoint(endpoint))
|
||||
}
|
||||
return s.Handle(s.NewHandler(&{{$ServiceName}}{h}, opts...))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user