noop impl (#32)
* improve logger usage * add noop client and server Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
157
client/noop.go
Normal file
157
client/noop.go
Normal file
@@ -0,0 +1,157 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/unistack-org/micro/v3/codec"
|
||||
)
|
||||
|
||||
type noopClient struct {
|
||||
opts Options
|
||||
}
|
||||
|
||||
type noopMessage struct {
|
||||
topic string
|
||||
payload interface{}
|
||||
contentType string
|
||||
}
|
||||
|
||||
type noopRequest struct {
|
||||
service string
|
||||
method string
|
||||
endpoint string
|
||||
contentType string
|
||||
body interface{}
|
||||
codec codec.Writer
|
||||
stream bool
|
||||
}
|
||||
|
||||
func (n *noopRequest) Service() string {
|
||||
return n.service
|
||||
}
|
||||
|
||||
func (n *noopRequest) Method() string {
|
||||
return n.method
|
||||
}
|
||||
|
||||
func (n *noopRequest) Endpoint() string {
|
||||
return n.endpoint
|
||||
}
|
||||
|
||||
func (n *noopRequest) ContentType() string {
|
||||
return n.contentType
|
||||
}
|
||||
|
||||
func (n *noopRequest) Body() interface{} {
|
||||
return n.body
|
||||
}
|
||||
|
||||
func (n *noopRequest) Codec() codec.Writer {
|
||||
return n.codec
|
||||
}
|
||||
|
||||
func (n *noopRequest) Stream() bool {
|
||||
return n.stream
|
||||
}
|
||||
|
||||
type noopResponse struct {
|
||||
codec codec.Reader
|
||||
header map[string]string
|
||||
}
|
||||
|
||||
func (n *noopResponse) Codec() codec.Reader {
|
||||
return n.codec
|
||||
}
|
||||
|
||||
func (n *noopResponse) Header() map[string]string {
|
||||
return n.header
|
||||
}
|
||||
|
||||
func (n *noopResponse) Read() ([]byte, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
type noopStream struct{}
|
||||
|
||||
func (n *noopStream) Context() context.Context {
|
||||
return context.Background()
|
||||
}
|
||||
|
||||
func (n *noopStream) Request() Request {
|
||||
return &noopRequest{}
|
||||
}
|
||||
|
||||
func (n *noopStream) Response() Response {
|
||||
return &noopResponse{}
|
||||
}
|
||||
|
||||
func (n *noopStream) Send(interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopStream) Recv(interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopStream) Error() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopStream) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopMessage) Topic() string {
|
||||
return n.topic
|
||||
}
|
||||
|
||||
func (n *noopMessage) Payload() interface{} {
|
||||
return n.payload
|
||||
}
|
||||
|
||||
func (n *noopMessage) ContentType() string {
|
||||
return n.contentType
|
||||
}
|
||||
|
||||
func (n *noopClient) Init(opts ...Option) error {
|
||||
for _, o := range opts {
|
||||
o(&n.opts)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopClient) Options() Options {
|
||||
return n.opts
|
||||
}
|
||||
|
||||
func (n *noopClient) String() string {
|
||||
return "noop"
|
||||
}
|
||||
|
||||
func (n *noopClient) Call(ctx context.Context, req Request, rsp interface{}, opts ...CallOption) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *noopClient) NewRequest(service, endpoint string, req interface{}, opts ...RequestOption) Request {
|
||||
return &noopRequest{}
|
||||
}
|
||||
|
||||
func (n *noopClient) NewMessage(topic string, msg interface{}, opts ...MessageOption) Message {
|
||||
return &noopMessage{}
|
||||
}
|
||||
|
||||
func (n *noopClient) Stream(ctx context.Context, req Request, opts ...CallOption) (Stream, error) {
|
||||
return &noopStream{}, nil
|
||||
}
|
||||
|
||||
func (n *noopClient) Publish(ctx context.Context, msg Message, opts ...PublishOption) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func newClient(opts ...Option) Client {
|
||||
options := NewOptions()
|
||||
for _, o := range opts {
|
||||
o(&options)
|
||||
}
|
||||
return &noopClient{opts: options}
|
||||
}
|
||||
Reference in New Issue
Block a user