Update workflows #194
							
								
								
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					# Binaries for programs and plugins
 | 
				
			||||||
 | 
					*.exe
 | 
				
			||||||
 | 
					*.exe~
 | 
				
			||||||
 | 
					*.dll
 | 
				
			||||||
 | 
					*.so
 | 
				
			||||||
 | 
					*.dylib
 | 
				
			||||||
 | 
					bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Test binary, built with `go test -c`
 | 
				
			||||||
 | 
					*.test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Output of the go coverage tool, specifically when used with LiteIDE
 | 
				
			||||||
 | 
					*.out
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Dependency directories (remove the comment below to include it)
 | 
				
			||||||
 | 
					# vendor/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Go workspace file
 | 
				
			||||||
 | 
					go.work
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# General
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					.idea
 | 
				
			||||||
 | 
					.vscode
 | 
				
			||||||
							
								
								
									
										48
									
								
								http.go
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								http.go
									
									
									
									
									
								
							@@ -408,7 +408,7 @@ func (h *Server) Start() error {
 | 
				
			|||||||
	h.Unlock()
 | 
						h.Unlock()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var handler http.Handler
 | 
						var handler http.Handler
 | 
				
			||||||
	var srvFunc func(net.Listener) error
 | 
						//var srvFunc func(net.Listener) error
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// nolint: nestif
 | 
						// nolint: nestif
 | 
				
			||||||
	if h.opts.Context != nil {
 | 
						if h.opts.Context != nil {
 | 
				
			||||||
@@ -451,6 +451,7 @@ func (h *Server) Start() error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	fn := handler
 | 
						fn := handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var hs *http.Server
 | 
				
			||||||
	if h.opts.Context != nil {
 | 
						if h.opts.Context != nil {
 | 
				
			||||||
		if mwf, ok := h.opts.Context.Value(middlewareKey{}).([]func(http.Handler) http.Handler); ok && len(mwf) > 0 {
 | 
							if mwf, ok := h.opts.Context.Value(middlewareKey{}).([]func(http.Handler) http.Handler); ok && len(mwf) > 0 {
 | 
				
			||||||
			// wrap the handler func
 | 
								// wrap the handler func
 | 
				
			||||||
@@ -458,25 +459,37 @@ func (h *Server) Start() error {
 | 
				
			|||||||
				fn = mwf[i-1](fn)
 | 
									fn = mwf[i-1](fn)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if hs, ok := h.opts.Context.Value(serverKey{}).(*http.Server); ok && hs != nil {
 | 
							var ok bool
 | 
				
			||||||
 | 
							if hs, ok = h.opts.Context.Value(serverKey{}).(*http.Server); ok && hs != nil {
 | 
				
			||||||
			hs.Handler = fn
 | 
								hs.Handler = fn
 | 
				
			||||||
			srvFunc = hs.Serve
 | 
								//srvFunc = hs.Serve
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								hs = &http.Server{Handler: fn}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if srvFunc != nil {
 | 
						go func() {
 | 
				
			||||||
		go func() {
 | 
							if cerr := hs.Serve(ts); cerr != nil && !errors.Is(cerr, net.ErrClosed) {
 | 
				
			||||||
			if cerr := srvFunc(ts); cerr != nil && !errors.Is(cerr, net.ErrClosed) {
 | 
								h.opts.Logger.Error(h.opts.Context, cerr)
 | 
				
			||||||
				h.opts.Logger.Error(h.opts.Context, cerr)
 | 
							}
 | 
				
			||||||
			}
 | 
						}()
 | 
				
			||||||
		}()
 | 
					
 | 
				
			||||||
	} else {
 | 
						/*
 | 
				
			||||||
		go func() {
 | 
							if srvFunc != nil {
 | 
				
			||||||
			if cerr := http.Serve(ts, fn); cerr != nil && !errors.Is(cerr, net.ErrClosed) {
 | 
								go func() {
 | 
				
			||||||
				h.opts.Logger.Error(h.opts.Context, cerr)
 | 
									if cerr := srvFunc(ts); cerr != nil && !errors.Is(cerr, net.ErrClosed) {
 | 
				
			||||||
			}
 | 
										h.opts.Logger.Error(h.opts.Context, cerr)
 | 
				
			||||||
		}()
 | 
									}
 | 
				
			||||||
	}
 | 
								}()
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								go func() {
 | 
				
			||||||
 | 
									if cerr := http.Serve(ts, fn); cerr != nil && !errors.Is(cerr, net.ErrClosed) {
 | 
				
			||||||
 | 
										h.opts.Logger.Error(h.opts.Context, cerr)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}()
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	go func() {
 | 
						go func() {
 | 
				
			||||||
		t := new(time.Ticker)
 | 
							t := new(time.Ticker)
 | 
				
			||||||
@@ -536,6 +549,9 @@ func (h *Server) Start() error {
 | 
				
			|||||||
			config.Logger.Errorf(config.Context, "Server deregister error: %s", err)
 | 
								config.Logger.Errorf(config.Context, "Server deregister error: %s", err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// err ignore and empty cotnext
 | 
				
			||||||
 | 
							hs.Shutdown(context.Background())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ch <- ts.Close()
 | 
							ch <- ts.Close()
 | 
				
			||||||
	}()
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user