add shorturl example code
This commit is contained in:
96
example/shorturl/rpc/transform/transformer/transformer.go
Executable file
96
example/shorturl/rpc/transform/transformer/transformer.go
Executable file
@@ -0,0 +1,96 @@
|
||||
// Code generated by goctl. DO NOT EDIT!
|
||||
// Source: transform.proto
|
||||
|
||||
//go:generate mockgen -destination ./transformer_mock.go -package transformer -source $GOFILE
|
||||
|
||||
package transformer
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
transform "shorturl/rpc/transform/pb"
|
||||
|
||||
"github.com/tal-tech/go-zero/core/jsonx"
|
||||
"github.com/tal-tech/go-zero/rpcx"
|
||||
)
|
||||
|
||||
type (
|
||||
Transformer interface {
|
||||
Expand(ctx context.Context, in *ExpandReq) (*ExpandResp, error)
|
||||
Shorten(ctx context.Context, in *ShortenReq) (*ShortenResp, error)
|
||||
}
|
||||
|
||||
defaultTransformer struct {
|
||||
cli rpcx.Client
|
||||
}
|
||||
)
|
||||
|
||||
func NewTransformer(cli rpcx.Client) Transformer {
|
||||
return &defaultTransformer{
|
||||
cli: cli,
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultTransformer) Expand(ctx context.Context, in *ExpandReq) (*ExpandResp, error) {
|
||||
var request transform.ExpandReq
|
||||
bts, err := jsonx.Marshal(in)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
err = jsonx.Unmarshal(bts, &request)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
client := transform.NewTransformerClient(m.cli.Conn())
|
||||
resp, err := client.Expand(ctx, &request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var ret ExpandResp
|
||||
bts, err = jsonx.Marshal(resp)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
err = jsonx.Unmarshal(bts, &ret)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
return &ret, nil
|
||||
}
|
||||
|
||||
func (m *defaultTransformer) Shorten(ctx context.Context, in *ShortenReq) (*ShortenResp, error) {
|
||||
var request transform.ShortenReq
|
||||
bts, err := jsonx.Marshal(in)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
err = jsonx.Unmarshal(bts, &request)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
client := transform.NewTransformerClient(m.cli.Conn())
|
||||
resp, err := client.Shorten(ctx, &request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var ret ShortenResp
|
||||
bts, err = jsonx.Marshal(resp)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
err = jsonx.Unmarshal(bts, &ret)
|
||||
if err != nil {
|
||||
return nil, errJsonConvert
|
||||
}
|
||||
|
||||
return &ret, nil
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: transformer.go
|
||||
|
||||
// Package transformer is a generated GoMock package.
|
||||
package transformer
|
||||
|
||||
import (
|
||||
context "context"
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
// MockTransformer is a mock of Transformer interface
|
||||
type MockTransformer struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockTransformerMockRecorder
|
||||
}
|
||||
|
||||
// MockTransformerMockRecorder is the mock recorder for MockTransformer
|
||||
type MockTransformerMockRecorder struct {
|
||||
mock *MockTransformer
|
||||
}
|
||||
|
||||
// NewMockTransformer creates a new mock instance
|
||||
func NewMockTransformer(ctrl *gomock.Controller) *MockTransformer {
|
||||
mock := &MockTransformer{ctrl: ctrl}
|
||||
mock.recorder = &MockTransformerMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
func (m *MockTransformer) EXPECT() *MockTransformerMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Expand mocks base method
|
||||
func (m *MockTransformer) Expand(ctx context.Context, in *ExpandReq) (*ExpandResp, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Expand", ctx, in)
|
||||
ret0, _ := ret[0].(*ExpandResp)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Expand indicates an expected call of Expand
|
||||
func (mr *MockTransformerMockRecorder) Expand(ctx, in interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Expand", reflect.TypeOf((*MockTransformer)(nil).Expand), ctx, in)
|
||||
}
|
||||
|
||||
// Shorten mocks base method
|
||||
func (m *MockTransformer) Shorten(ctx context.Context, in *ShortenReq) (*ShortenResp, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Shorten", ctx, in)
|
||||
ret0, _ := ret[0].(*ShortenResp)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Shorten indicates an expected call of Shorten
|
||||
func (mr *MockTransformerMockRecorder) Shorten(ctx, in interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Shorten", reflect.TypeOf((*MockTransformer)(nil).Shorten), ctx, in)
|
||||
}
|
||||
26
example/shorturl/rpc/transform/transformer/types.go
Executable file
26
example/shorturl/rpc/transform/transformer/types.go
Executable file
@@ -0,0 +1,26 @@
|
||||
// Code generated by goctl. DO NOT EDIT!
|
||||
// Source: transform.proto
|
||||
|
||||
package transformer
|
||||
|
||||
import "errors"
|
||||
|
||||
var errJsonConvert = errors.New("json convert error")
|
||||
|
||||
type (
|
||||
ExpandReq struct {
|
||||
Shorten string `json:"shorten,omitempty"`
|
||||
}
|
||||
|
||||
ExpandResp struct {
|
||||
Url string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
ShortenReq struct {
|
||||
Url string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
ShortenResp struct {
|
||||
Shorten string `json:"shorten,omitempty"`
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user