mirror of
https://github.com/go-micro/go-micro.git
synced 2025-06-12 22:07:47 +02:00
47
services/helloworld/helloworld.go
Executable file
47
services/helloworld/helloworld.go
Executable file
@ -0,0 +1,47 @@
|
||||
package helloworld
|
||||
|
||||
import (
|
||||
"github.com/m3o/m3o-go/client"
|
||||
)
|
||||
|
||||
func NewHelloworldService(token string) *HelloworldService {
|
||||
return &HelloworldService{
|
||||
client: client.NewClient(&client.Options{
|
||||
Token: token,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
type HelloworldService struct {
|
||||
client *client.Client
|
||||
}
|
||||
|
||||
// Call returns a personalised "Hello $name" response
|
||||
func (t *HelloworldService) Call(request *CallRequest) (*CallResponse, error) {
|
||||
rsp := &CallResponse{}
|
||||
return rsp, t.client.Call("helloworld", "Call", request, rsp)
|
||||
}
|
||||
|
||||
// Stream returns a stream of "Hello $name" responses
|
||||
func (t *HelloworldService) Stream(request *StreamRequest) (*StreamResponse, error) {
|
||||
rsp := &StreamResponse{}
|
||||
return rsp, t.client.Call("helloworld", "Stream", request, rsp)
|
||||
}
|
||||
|
||||
type CallRequest struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type CallResponse struct {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type StreamRequest struct {
|
||||
// the number of messages to send back
|
||||
Messages int64 `json:"messages,string"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type StreamResponse struct {
|
||||
Message string `json:"message"`
|
||||
}
|
Reference in New Issue
Block a user