12345678910111213141516171819202122232425262728 |
- package service
- import (
- "reflect"
- )
- var (
- typeOfBytes = reflect.TypeOf(([]byte)(nil))
- typeOfSession = reflect.TypeOf(NewSession(nil))
- )
- // 方法检测
- func isHandlerMethod(method reflect.Method) bool {
- mt := method.Type
- if method.PkgPath != "" {
- return false
- }
- if mt.NumIn() != 3 {
- return false
- }
- if t1 := mt.In(1); t1.Kind() != reflect.Ptr || t1 != typeOfSession {
- return false
- }
- if mt.In(2).Kind() != reflect.Ptr && mt.In(2) != typeOfBytes {
- return false
- }
- return true
- }
|