github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/service/test_handler.go (about) 1 // Copyright 2015 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package service 5 6 import ( 7 "github.com/keybase/client/go/libkb" 8 keybase1 "github.com/keybase/client/go/protocol/keybase1" 9 airdrop "github.com/keybase/client/go/stellar/airdrop" 10 "github.com/keybase/go-framed-msgpack-rpc/rpc" 11 "golang.org/x/net/context" 12 ) 13 14 type TestHandler struct { 15 *BaseHandler 16 libkb.Contextified 17 } 18 19 func NewTestHandler(xp rpc.Transporter, g *libkb.GlobalContext) *TestHandler { 20 return &TestHandler{ 21 BaseHandler: NewBaseHandler(g, xp), 22 Contextified: libkb.NewContextified(g), 23 } 24 } 25 26 func (t TestHandler) Test(ctx context.Context, arg keybase1.TestArg) (test keybase1.Test, err error) { 27 client := t.rpcClient() 28 cbArg := keybase1.TestCallbackArg(arg) 29 var cbReply string 30 err = client.Call(ctx, "keybase.1.test.testCallback", []interface{}{cbArg}, &cbReply, 0) 31 if err != nil { 32 return 33 } 34 35 test.Reply = cbReply 36 return 37 } 38 39 func (t TestHandler) TestCallback(_ context.Context, arg keybase1.TestCallbackArg) (s string, err error) { 40 return 41 } 42 43 func (t TestHandler) Panic(_ context.Context, message string) error { 44 t.G().Log.Info("Received panic() RPC") 45 go func() { 46 panic(message) 47 }() 48 return nil 49 } 50 51 func (t TestHandler) TestAirdropReg(ctx context.Context) error { 52 mctx := libkb.NewMetaContext(ctx, t.G()).WithLogTag("ADREG") 53 cli := airdrop.NewClient() 54 return cli.Register(mctx) 55 } 56 57 func (t TestHandler) Echo(ctx context.Context, arg keybase1.Generic) (keybase1.Generic, error) { 58 return arg, nil 59 }