micro.go 762 B

12345678910111213141516171819202122232425262728293031323334
  1. package micro
  2. import (
  3. "context"
  4. "git.nspix.com/golang/micro/gateway"
  5. "git.nspix.com/golang/micro/log"
  6. )
  7. type (
  8. HandleOptions struct {
  9. HttpMethod string
  10. }
  11. HandleOption func(o *HandleOptions)
  12. HandleFunc func(ctx gateway.Context) (err error)
  13. Application interface {
  14. Logger() log.Logger //获取日志实例
  15. RegisterHandle(method string, cb HandleFunc) (err error) //注册一个处理器
  16. NewRequest(service, method string, payload interface{}) (err error) //创建一个rpc请求
  17. }
  18. Server interface {
  19. Start(ctx context.Context) (err error)
  20. Stop() (err error)
  21. }
  22. )
  23. func WithHttpMethod(method string) HandleOption {
  24. return func(o *HandleOptions) {
  25. o.HttpMethod = method
  26. }
  27. }