export Server to allow to cast
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										34
									
								
								http.go
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								http.go
									
									
									
									
									
								
							| @@ -23,9 +23,9 @@ import ( | ||||
| 	"golang.org/x/net/netutil" | ||||
| ) | ||||
|  | ||||
| var _ server.Server = &httpServer{} | ||||
| var _ server.Server = (*Server)(nil) | ||||
|  | ||||
| type httpServer struct { | ||||
| type Server struct { | ||||
| 	hd           server.Handler | ||||
| 	rsvc         *register.Service | ||||
| 	handlers     map[string]server.Handler | ||||
| @@ -40,7 +40,7 @@ type httpServer struct { | ||||
| 	init       bool | ||||
| } | ||||
|  | ||||
| func (h *httpServer) newCodec(ct string) (codec.Codec, error) { | ||||
| func (h *Server) newCodec(ct string) (codec.Codec, error) { | ||||
| 	if idx := strings.IndexRune(ct, ';'); idx >= 0 { | ||||
| 		ct = ct[:idx] | ||||
| 	} | ||||
| @@ -53,14 +53,14 @@ func (h *httpServer) newCodec(ct string) (codec.Codec, error) { | ||||
| 	return nil, codec.ErrUnknownContentType | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Options() server.Options { | ||||
| func (h *Server) Options() server.Options { | ||||
| 	h.Lock() | ||||
| 	opts := h.opts | ||||
| 	h.Unlock() | ||||
| 	return opts | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Init(opts ...server.Option) error { | ||||
| func (h *Server) Init(opts ...server.Option) error { | ||||
| 	if len(opts) == 0 && h.init { | ||||
| 		return nil | ||||
| 	} | ||||
| @@ -130,7 +130,7 @@ func (h *httpServer) Init(opts ...server.Option) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Handle(handler server.Handler) error { | ||||
| func (h *Server) Handle(handler server.Handler) error { | ||||
| 	// passed unknown handler | ||||
| 	hdlr, ok := handler.(*httpHandler) | ||||
| 	if !ok { | ||||
| @@ -159,7 +159,7 @@ func (h *httpServer) Handle(handler server.Handler) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) NewHandler(handler interface{}, opts ...server.HandlerOption) server.Handler { | ||||
| func (h *Server) NewHandler(handler interface{}, opts ...server.HandlerOption) server.Handler { | ||||
| 	options := server.NewHandlerOptions(opts...) | ||||
|  | ||||
| 	eps := make([]*register.Endpoint, 0, len(options.Metadata)) | ||||
| @@ -288,11 +288,11 @@ func (h *httpServer) NewHandler(handler interface{}, opts ...server.HandlerOptio | ||||
| 	return hdlr | ||||
| } | ||||
|  | ||||
| func (h *httpServer) NewSubscriber(topic string, handler interface{}, opts ...server.SubscriberOption) server.Subscriber { | ||||
| func (h *Server) NewSubscriber(topic string, handler interface{}, opts ...server.SubscriberOption) server.Subscriber { | ||||
| 	return newSubscriber(topic, handler, opts...) | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Subscribe(sb server.Subscriber) error { | ||||
| func (h *Server) Subscribe(sb server.Subscriber) error { | ||||
| 	sub, ok := sb.(*httpSubscriber) | ||||
| 	if !ok { | ||||
| 		return fmt.Errorf("invalid subscriber: expected *httpSubscriber") | ||||
| @@ -317,7 +317,7 @@ func (h *httpServer) Subscribe(sb server.Subscriber) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Register() error { | ||||
| func (h *Server) Register() error { | ||||
| 	var eps []*register.Endpoint | ||||
| 	h.RLock() | ||||
| 	for _, hdlr := range h.handlers { | ||||
| @@ -408,7 +408,7 @@ func (h *httpServer) Register() error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Deregister() error { | ||||
| func (h *Server) Deregister() error { | ||||
| 	h.RLock() | ||||
| 	config := h.opts | ||||
| 	h.RUnlock() | ||||
| @@ -456,7 +456,7 @@ func (h *httpServer) Deregister() error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Start() error { | ||||
| func (h *Server) Start() error { | ||||
| 	h.RLock() | ||||
| 	config := h.opts | ||||
| 	h.RUnlock() | ||||
| @@ -636,27 +636,27 @@ func (h *httpServer) Start() error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Stop() error { | ||||
| func (h *Server) Stop() error { | ||||
| 	ch := make(chan error) | ||||
| 	h.exit <- ch | ||||
| 	return <-ch | ||||
| } | ||||
|  | ||||
| func (h *httpServer) String() string { | ||||
| func (h *Server) String() string { | ||||
| 	return "http" | ||||
| } | ||||
|  | ||||
| func (h *httpServer) Name() string { | ||||
| func (h *Server) Name() string { | ||||
| 	return h.opts.Name | ||||
| } | ||||
|  | ||||
| func NewServer(opts ...server.Option) *httpServer { | ||||
| func NewServer(opts ...server.Option) *Server { | ||||
| 	options := server.NewOptions(opts...) | ||||
| 	eh := DefaultErrorHandler | ||||
| 	if v, ok := options.Context.Value(errorHandlerKey{}).(errorHandler); ok && v != nil { | ||||
| 		eh = v | ||||
| 	} | ||||
| 	return &httpServer{ | ||||
| 	return &Server{ | ||||
| 		opts:         options, | ||||
| 		exit:         make(chan chan error), | ||||
| 		subscribers:  make(map[*httpSubscriber][]broker.Subscriber), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user