add shorturl example code

This commit is contained in:
kevin
2020-09-01 16:04:39 +08:00
parent ea1c9aa250
commit b7a018b33a
28 changed files with 1336 additions and 0 deletions

View 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
}

View File

@@ -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)
}

View 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"`
}
)