server

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &cobra.Command{
	Use:   "server",
	Short: "Start a server that proxies requests to discovered mDNS hosts.",
	Args:  cobra.ExactArgs(0),
	Run: func(cmd *cobra.Command, args []string) {
		ctx := cmd.Context()

		logger := log.GetLogger(ctx)

		srv, err := server.NewServer(
			addr,
			baseDomain,
			interfaceStr,
			service,
			mdnsDomain,
			timeout,
			disableIPv4,
			disableIPv6,
		)
		if err != nil {
			logrus.Fatalf("Error starting server: %v", err)
		}

		go func() {
			sig := make(chan os.Signal, 1)
			signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM)
			<-sig

			logger.Info("Shutting down...")
			if err := srv.Shutdown(ctx); err != nil {
				logger.Errorf("Shutdown request failed: %v", err)
			}
		}()

		logger.Infof("Starting server on %s", addr)
		if err := srv.ListenAndServe(); err != http.ErrServerClosed {
			logger.Fatalf("Server error: %v", err)
		}
		logger.Info("Exiting")
	},
}

Functions

func Reset

func Reset()

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL